文件名正则表达式不使用插入符^字符

时间:2016-03-15 11:16:43

标签: c# regex

我知道我可能忽略了一些东西,但是已经在线查看并且似乎无法找到答案...我正在对一堆文件名运行正则表达式以删除删除的那些我不喜欢的'需要。这是我的代码(在windows窗体中):

if(Regex.IsMatch(fileName, EditBox_Filters.Text))
    Remove = true;

这似乎在某些情况下可以正常工作,例如:

007.*\[!\]

正在拿起这两个文件:

007 Shitou (J) [!].gen
James Bond 007 - The Duel (UE) [!].gen

然而,如果我只想获得以007开头的文件,我认为我可以使用:

^007

但是当我使用^字符时,正则表达式继续返回false,这是否与字符串本身有关..或者我只是妄想?

1 个答案:

答案 0 :(得分:1)

要确保仅针对正则表达式测试文件名称 而没有文件夹路径和扩展名,请使用Path.GetFileNameWithoutExtension(fileName)

if(Regex.IsMatch(Path.GetFileNameWithoutExtension(fileName), EditBox_Filters.Text))
    Remove = true;