2011-10-04 92 views
2

我有下一個字符串"USA_NewYork_YYYYMMDD.txt"正則表達式。設置字符串長度

我應該在我的模式YYYYMMDD長度

我用下一個模式來設置@"^USA_NewYork_+[\d{8}$]+.txt$"

但failes因爲接下來的文件也被搜索

USA_NewYork_2011098.txt 
USA_NewYork_201109081.txt 

我的模式有什麼問題?

回答

2

你要這個模式:

@"^USA_NewYork_\d{8}\.txt$" 

你有它現在的方式,它與USA_NewYork開始,然後一個或多個_ S,那麼一個或多個字符從收集any digit{字符串匹配,(8已經在「任何數字」類中),}$,然後是單個字符(除了換行符之外的任何內容),最後是txt

[abc]是一個字符類,意思是「一個字符,即a,bc」。

我建議你閱讀basic regex tutorial,特別是關於character classes的部分。

+0

他的第二個例子有9個數字,而不是8個。 –

+0

我需要8個長度的字符串。我展示了錯誤的例子。蒂姆謝謝!作品! – user970742

+0

是的,我想他不希望它匹配(不是第一個與7位數字),他想要8位數字。 –

0

試試@"^USA_NewYork_+\d{8}\.txt$。如果你只想匹配8位數字,這不會有任何影響。

相關問題