我知道我可能忽略了一些东西,但是已经在线查看并且似乎无法找到答案...我正在对一堆文件名运行正则表达式以删除删除的那些我不喜欢的'需要。这是我的代码(在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,这是否与字符串本身有关..或者我只是妄想?
答案 0 :(得分:1)
要确保仅针对正则表达式测试文件名称 而没有文件夹路径和扩展名,请使用Path.GetFileNameWithoutExtension(fileName)
:
if(Regex.IsMatch(Path.GetFileNameWithoutExtension(fileName), EditBox_Filters.Text))
Remove = true;