正则表达式预查询

1.在正则表达式中,有一部分内容并不容易通过文档解释就能搞清楚,那就是预查。预查包括正向预查,反向预查,细分了还各自有肯定预查和否定预查。

特点:预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。其实其中有一个关键点,就是预查不消耗字符。                    正则表达式是对给定的字符串进行匹配,也就可以说,一般匹配了一个字符后,该字符就被消耗,就不能被Regular Expression的其他部分匹配了。

2.正向肯定预查,在任何匹配pattern的字符串开始处匹配查找字符串。

语法:(?=pattern) 

特点:子模式仅仅作为条件限制,并不作为匹配结果输出,子模式前面的。

3.反向肯定预查

语法:(?<=pattern) 

特点:反向预查在子模式的内部前面添加"?<="。反向预查与正向预查很相似,子模式仅仅作为条件限制,不作为结果输出。唯一不同的是,正向预查匹配子模式前面的结果作为匹配结果,而反向预查匹配子模式后面的结果作为匹配结果

原文地址:https://www.cnblogs.com/linbo3168/p/8581053.html