正则表达式。设置子字符串长度

时间:2011-10-04 10:58:59

标签: c# regex

我有下一个字符串"USA_NewYork_YYYYMMDD.txt"

我应该设置我的模式YYYYMMDD长度

我使用下一个模式@"^USA_NewYork_+[\d{8}$]+.txt$"

但由于下一个文件也被搜索而失败

USA_NewYork_2011098.txt
USA_NewYork_201109081.txt

我的模式有什么问题?

2 个答案:

答案 0 :(得分:2)

你想要这种模式:

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

现在的方式,它匹配以USA_NewYork开头的字符串,然后是一个或多个_ s,然后是集合any digit中的一个或多个字符,{{ 1}},({已经在“任意数字”类中),8},然后是一个字符(除了换行符之外的任何内容),最后是$

txt是一个字符类,意思是“一个字符,[abc]ab”。

我建议您阅读basic regex tutorial,尤其是character classes上的部分。

答案 1 :(得分:0)

试试这个@"^USA_NewYork_+\d{8}\.txt$。如果您只想匹配8位数字,那么这将是有效的,而不是更多。