2014-04-18 19 views
5

Tôi có một số mẫu cho tên tập tin như:Regex tên tập tin phù hợp

$subject-id$-subject-info.xml 
$sampleId$-$subjectId$-sample-info.txt 
$subjectId$-$sampleId$-sample-info.txt 
$subjectId$-$sampleId$-image-$type$.png 
$sampleId$-$subjectId$-image-$type$.jpg 
image-$sampleId$-$subjectId$-$type$.jpg 

thứ tự của type, sample-id, subject-id không ngừng thiết lập.

Tôi cần chọn tệp phù hợp với mẫu này.

ví dụ:

cho đầu chuỗi mẫu maching:

"123A-subject-info.xml" ($subject-id$ is string) 

cho thứ hai:

"2014-04-17-17-42-57-O1CD-sample-info.txt" ($sample-id$ is date time type) 

cho lần cuối:

"image-2014-04-17-17-42-57-01CD-mini.jpg" ($type$ is another string) 

Làm thế nào tôi có thể làm điều đó với regex? Tôi cố gắng phân tích chuỗi này bằng cách sử dụng phương pháp tách, nhưng tôi cần phải viết lại phương pháp này liên tục nếu mẫu đã được thay đổi.

+0

nên mẫu đầu tiên của bạn là gì?, Bạn có thể đưa ra một số ví dụ mà bạn mong đợi để phù hợp với mẫu đầu tiên của bạn – aelor

+0

"$ đối tượng-id $ -subject-info.xml ". trong ví dụ subject-id = 0000 –

+0

là luôn luôn có 4 chữ số? – aelor

Trả lời

1

Ví dụ, nếu tập tin là trong php sau đó nó sẽ là /^\S[a-zA-Z]+.(php)$/ Nhưng bạn có thể thay thế php với phần mở rộng ưa thích của bạn.

hãy thử sử dụng http://regex101.com/ để kiểm tra biểu thức chính quy bạn

Các vấn đề liên quan