美文网首页工具癖程序员
正则表达式里”不包含”及一些特殊查找

正则表达式里”不包含”及一些特殊查找

作者: 一根弦的风筝 | 来源:发表于2017-09-13 18:12 被阅读0次

    背景

    我经常使用sublime去处理很多文件, 利用强大的正则表达式, 将一些日志以及excel文本进行格式化为特定内容.
    最近经常遇到只保留我需要的行, 其他行删除掉. 也就需要用到正则中的不等于, 找了好几次, 觉得还是有必要记下来留用, 不用每次都去google了, 毕竟网上的文章也不是都是对的, 每次都找很久.

    语法

    当我要找到不包含某些字符串(如test)时, 可以使用

    ^((?!test).)*$
    
    效果图.png

    解释

    1. 肯定式向前查找
      匹配字符序列Start后跟一个空格和Test字符序列(不区分大小写)
      正则模式:Start(?= Test)
      匹配字符序列some,如果在同一句子中还存在字符序列some
      正则模式:some(?=.some.)
    2. 否定式向前查找
      匹配字符序列Start后面不存在test字符序列
      正则模式:Start (?!test)
      匹配Start 后面不存在test的行
      正则模式: ^.Start((?!test).)$
    3. 肯定式向后查找
      匹配前面有"rt"的字符序列Test
      正则模式:(?<=rt )Test
    4. 否定式向后查找
      匹配前面没有"rt "的字符序列Test
      正则模式:(?<!rt) Test

    运行结果

    Start(?= Test).png some(?=.*some.*).png Start (?!test).png ^.*Start((?!test).)*$.png (?<=rt )Test.png (?<!rt) Test.png

    参考文章

    正则表达式里字符串”不包含”匹配技巧
    正则表达式向前查找向后查找,环绕或零宽断言

    相关文章

      网友评论

        本文标题:正则表达式里”不包含”及一些特殊查找

        本文链接:https://www.haomeiwen.com/subject/btrlsxtx.html