ps:想吐槽一下,什么前瞻,后顾,负前瞻,负后顾,小白就想简单了解会用而已,为啥网上很多明明很简单的东西非得写的那么…举的例子也那么…,对小白一点也不友好~
一、个人理解:
1、将 < 看成方向,包含这个箭头说明是放在要去匹配的目标内容的左边(来开头);
2、把 ?! 看成 ?!= 就好了
3、一定要记住:匹配得到的结果并不包含 ?=、?<=、?!和?<!=里面的内容的!!!
二、?=、?<=、?!、?<! 的具体使用区别:
【1】?= : 询问要去匹配的目标的后面跟着的东西是否等于这个
eg: ^b(?=a)$ —— ba
【2】?<= : 询问要去匹配的目标是否以这个东西开头
eg: ^(?<=a)b$ —— ab
【3】?! : 询问要去匹配的目标后面跟着的东西是否 不是这个
eg:^b(?!a)$ —— bb
【4】?<!= :询问要去匹配的目标是否不是以这个东西开头
eg:^(?<!=a)$ —— bb
贴一个官方的例子:
?= exp1(?=exp2): 查找在 exp2 前面的 exp1。
?<= (?<=exp2)exp1: 查找在 exp2 后面的 exp1。
?! exp1(?!exp2): 查找后面不是 exp2 的 exp1。
?<! (?<!exp2)exp1:查找前面不是 exp2 的 exp1。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)