1

我需要过滤文件列表。其中一些是 csv 文件,其中一些附加了控制标签“.cntl”。

示例:file1.csv、file1.csv.cntl

我想设置一个正则表达式来检查文件是否包含“csv”而不是“cntl”。现在我有这个。

csv(?!cntl)

这是行不通的。合适的正则表达式是什么?

PS。这一切都是在 C# 中完成的。

4

3 回答 3

9

您的正则表达式应检查文件是否以.csv

\.csv$

请记住,它csv可能包含在文件名的其他位置。

于 2010-12-09T20:31:36.157 回答
7

以下是您想要的模式。

@"csv(?!\.cntl)"

但是,检查会不会更容易:

if (string.EndsWith("cntl"))

使用正则表达式不必要地复杂。

于 2010-12-09T20:32:22.060 回答
0

这应该有效:

csv(?!.*cntl)
于 2010-12-09T20:31:20.420 回答