正后顾匹配,也可称为 “肯定逆序环视”。前面章节介绍的正前瞻和反前瞻均是要求模式匹配时,需要右侧紧随特定文本,或紧随的不是特定文本。而正后顾与正前瞻方向相反。
正后顾匹配指匹配某个模式时,要求模式左边必须紧跟特定的文本。
正后顾匹配语法:
(?<=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)
运行效果如下图: