反后顾匹配

反后顾匹配,也可称为 “否定逆序环视”。前面章节介绍的正前瞻和反前瞻均是要求模式匹配时,需要右侧紧随特定文本,或紧随的不是特定文本。而反后顾与正前瞻方向相反。

反后顾会查看某个模式在从左至右的文本流的后面没有出现。同样,它有一个小于号(<),提醒后顾的是哪个方向。

正后顾匹配语法:

(?<!expresion)

例如:匹配所有带有 “world” 文本,并且前面不紧随 “hello” 文本。

在 RegexBuddy 中,运行 “(?<!hello) world” 模式,如下图:

上图中,第二行、第三行中的 “world” 文本被匹配,因为它的前面没有紧跟 “hello” 文本;而第一行中的 “world” 文本匹配失败,因为它们前面紧跟 “hello” 文本。

实例

在 RegexBuddy 中输入如下文本:

10 11 12 13 14 15
16 17 18 19 20 21
22 23 24 25 26 27

使用正则表达式替换功能,在每个数字的前面添加逗号。注意:数字的前面必须不紧随数字。模式如下:

(?<!\d)(\d)

运行效果如下图:

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号