.net 以.cs结尾但不以.g.cs结尾的字符串的正则表达式

.net 以.cs结尾但不以.g.cs结尾的字符串的正则表达式,.net,regex,.net,Regex,我需要一个匹配所有以.cs结尾的字符串的正则表达式,但如果它们以.g.cs结尾,则不应匹配。我使用的是.NET正则表达式。如果是.cs而不是.g.cs,那么它将匹配结尾 (?<!\.g)\.cs$ (? 对于从开始到结束的整个字符串,如下所示: ^.*(?<!\.g)\.cs$ ^.*(在不带负查找的正则表达式引擎中: ^(.*[^g]|.*[^.]g|)\.cs$ 从语言学上讲,一般的lookahead/lookahead是非正则的,所以它不是一个“正则表达式”,尽管它非常方

我需要一个匹配所有以.cs结尾的字符串的正则表达式,但如果它们以.g.cs结尾,则不应匹配。我使用的是.NET正则表达式。

如果是.cs而不是.g.cs,那么它将匹配结尾

(?<!\.g)\.cs$
(?
对于从开始到结束的整个字符串,如下所示:

^.*(?<!\.g)\.cs$

^.*(在不带负查找的正则表达式引擎中:

^(.*[^g]|.*[^.]g|)\.cs$
从语言学上讲,一般的lookahead/lookahead是非正则的,所以它不是一个“正则表达式”,尽管它非常方便


不相关,因为你说你正在使用.NET的正则表达式引擎,它支持像这样的非正则扩展,但我喜欢尽可能地指出这一点。

是的,有一个小的tyop。?而不是。*,ungreedy应该没关系。投票赞成,因为这对在JS中做类似事情的人很有用。