使用正则表达式匹配文件名

时间:2014-03-26 15:07:16

标签: c# regex

我在C#代码下方使用正则表达式比较文件名。

private string PPMFileName = "p_p_m";

private string FilePattern = PPMFileName + @"(.*)\.csv"; //File gets appended with date

private Regex regex = new Regex(FilePattern)

if(regex.IsMatch(file.Name))
 //do my stuff

即使对于文件名p_p_m_er_bo_20140324.csv,它也会返回true,因为我希望它只对文件名p_p_m_20140324.csv返回true(日期会不断变化)。

1 个答案:

答案 0 :(得分:1)

将正则表达式部分更改为:

@"_\d{8}\.csv"

因此它只匹配文件名后的一个下划线和8个数字。

在包含正则表达式元字符的情况下转义文件名也可能是个好主意:

private string FilePattern = Regex.Escape(PPMFileName) + @"_\d{8}\.csv";