1.什么是零宽断言:
零宽断言正如它的名字一样,是一种 零宽度的匹配. 它匹配到的内容不会保存到匹配结果中去, 最终匹配结果只是一个 位置 而已.
2.何时使用零宽断言:
在使用正则表示式时, 有时, 我们需要捕获的内容前后必须是特定内容, 但又不捕获这些特定内容的时候, 零宽断言就起到作用了
3.如何使用零宽断言:
零宽断言的作用是 给指定位置添加一个限定条件, 用来规定此位置之前或者之后的字符必须满足限定条件, 才能使正则中的表达式匹配成功.
4.零宽断言分类:
- (?=exp) 也叫 零宽度正预测先行断言,它断言此位置的 后面能匹配 表达式exp
- (?!exp) 也叫 零宽度负预测先行断言,断言此位置的 后面不能匹配 表达式exp
- (?<=exp) 也叫 零宽度正回顾后发断言,它断言此位置的 前面能匹配 表达式exp
- (?<!exp) 也叫 零宽度负回顾后发断言来断言此位置的 前面不能匹配 表达式exp
5.例子: " abCabcab, "
/ab( ?=[A-Z])/
匹配后面跟随任意一个大写字母的字符串”ab”, 最终匹配结果”ab” (大写字母C前的"ab")
/ab( ?![A-Z])/