【发布时间】:2008-10-18 18:14:28
【问题描述】:
我需要一个匹配所有以 .cs 结尾的字符串的正则表达式,但如果它们以 .g.cs 结尾,它们不应该匹配。我正在使用 .NET 正则表达式。
【问题讨论】:
我需要一个匹配所有以 .cs 结尾的字符串的正则表达式,但如果它们以 .g.cs 结尾,它们不应该匹配。我正在使用 .NET 正则表达式。
【问题讨论】:
如果是 .cs 而不是 .g.cs,这将匹配结尾
(?<!\.g)\.cs$
对于整个字符串从头到尾,如下所示:
^.*(?<!\.g)\.cs$
【讨论】:
在没有负面后视的正则表达式引擎中:
^(.*[^g]|.*[^.]g|)\.cs$
从语言上讲,一般的lookahead/lookbehind是非常规的,因此它不是“正则表达式”,即使它真的很方便......
不相关,因为您声明您正在使用 .NET 的正则表达式引擎,该引擎支持这样的非常规扩展,但我想尽可能地提出这一点。
【讨论】: