我在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(日期会不断变化)。
答案 0 :(得分:1)
将正则表达式部分更改为:
@"_\d{8}\.csv"
因此它只匹配文件名后的一个下划线和8个数字。
在包含正则表达式元字符的情况下转义文件名也可能是个好主意:
private string FilePattern = Regex.Escape(PPMFileName) + @"_\d{8}\.csv";