我需要过滤文件列表。其中一些是csv文件,其中一些是附加控制标记“.cntl”。
示例:file1.csv,file1.csv.cntl
我想设置一个正则表达式,检查文件是否包含“csv”而不是“cntl”。现在我已经有了这个。
csv(?!cntl)
这不起作用。正确的正则表达式是什么?
PS。这一切都是在C#中完成的。
答案 0 :(得分:9)
您的正则表达式应检查文件是否以.csv
\.csv$
请记住,csv
可以包含在文件名的其他位置。
答案 1 :(得分:7)
以下是您想要的模式。
@"csv(?!\.cntl)"
但是,检查不是更容易:
if (string.EndsWith("cntl"))
使用正则表达式是不必要的复杂。
答案 2 :(得分:0)
这应该有效:
csv(?!.*cntl)