正则表达式之预查
在正则表达式中,有一部分内容并不容易通过文档解释就能搞清楚,那就是预查。预查包括正向预查,反向预查,细分了还各自有肯定预查和否定预查。
这段解释可以说是啥都没讲清楚。其实其中有一个关键点,就是预查不消耗字符。正则表达式是对给定的字符串进行匹配,也就可以说,一般匹配了一个字符后,该字符就被消耗,就不能被Regular Expression的其他部分匹配了。 但是预查不是,因为它不消耗字符。用Javascript做个实验,先想想这段代码会输出什么? var s = "abc"
console.log(/a(?=b)bc/.test(s))
console.log(/a(b)test(s))
答案就是 true
false
到这,估计后面的正向否定预查就没什么问题了,以及反向预查,只不过是类似的,但是位置变了。 (?<=pattern) import re
re.match(r'a(?<=a)bc',"abc") is not None #输出True (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |