正则表达式包含一些文件,但有一个例外

时间:2011-10-06 08:53:47

标签: regex

我想要一个正则表达式,其中包含具有特定结尾的所有文件名。 “.err”但不是如果此文件名以例如“测试”。换句话说,包括“* .err” - 文件,但不包括“test-whatever.err”文件。

我找到了

    (?!test.*\.err$).*\.err 

排除测试* .err文件和

    .*\.err 

包含所有* .err文件,但我在同一个表达式中都需要它们。

此外,“。err”可以写成“.ERR”或“.Err”这一事实必须考虑到这个正则表达式才能正常工作。

感谢所有的想法和想法!

此致 里卡德

2 个答案:

答案 0 :(得分:0)

这个怎么样:

^(?!test).*\.err$

答案 1 :(得分:0)

使用此

^(?i)(?!test).*\.err$

在此处查看online on Regexr

与您不同的重要部分:

使用锚点。 ^$将您的模式锚定到字符串的开头和结尾

(?i)使其“忽略”,以便err也匹配“ERR”或“ErR”,test也匹配“测试”和测试...

你没有提供这种语言,但这个功能应该适用于大多数风格。