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

背景

我经常使用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

参考文章

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容