所有不包含字符串的字符串的正则表达式?

这个问题在这里已经有了答案:

  • 正则表达式匹配不包含单词的行吗? 25个答案

  • 您可以使用负面后视,例如:

    .*(?<!.config)$
    

    这匹配除了那些以“.config”结尾的所有字符串


    你的问题包含两个问题,所以这里有几个答案。

    匹配不包含某个字符串(比如.config )的行:

    ^(?:(?!.config).)*$r?n?
    

    匹配不以某个字符串结尾的行:

    ^.*(?<!.config)$r?n?
    

    作为奖励:匹配不以某个字符串开头的行:

    ^(?!.config).*$r?n?
    

    (每次包括换行符,如果存在的话)。

    哦,并回答为什么你的版本不起作用: [^abc]是指“除a,b或c之外的任何一(1)个字符”。 你的其他解决方案也会在test.hgtest.hg (因为它也以字母g结尾 - 你的正则表达式分别查看每个字符而不是整个.config字符串,这就是为什么你需要查看来处理这个问题。


    (?<!.config)$
    

    :)

    链接地址: http://www.djcxy.com/p/13377.html

    上一篇: Regex for all strings not containing a string?

    下一篇: How to match a line not containing a word