正则表达式(三)——环视

标签: 正则  环视  匹配  顺序环视  逆序环视

这里写图片描述

环视结构不匹配任何字符,只匹配文本中的特定位置。这一特点与锚点^和$很相似。但是环视功能更强大。

  • 顺序环视(?=……)
  • 逆序环视(?<=……)

顺序环视主要用于匹配位置,可以理解为:右面是”……”的字符位置。

Jeff(?=Jeffrey) //只会匹配后面紧邻Jeffrey的Jeff,也就是只会匹配Jeffrey里面的Jeff
                //换个角度理解,(?=Jeffrey)先匹配到右面是Jeffrey的位置,然后从此位置开始匹配Jeff。

匹配原理如下:
这里写图片描述

(?<=\b Jeff)(?=s\b)的匹配结果(注意:环视的匹配结果都是位置):
这里写图片描述
这里写图片描述

以上总结的是肯定顺序环视以及肯定逆序环视,其实还有否定顺序环视以及否定逆序环视。
这里写图片描述