正则零宽断言匹配一个位置,什么是正则预搜索(零宽断言),只进行子表达式的匹配,匹配内容不计入最终的匹配结果,零宽度的。
这个位置应该符合某个条件,判断当前位置的前后字符,是否符合指定的条件,但不匹配前后的字符,是对位置的匹配。
正则表达式匹配过程中,如果子表达式也配到的是字符内容而非位置,并被保存到最终的匹配结果中,那么就认为这个子表达式是占有字符的;
如果子表达式匹配的仅仅是位置,或者四配的内容并不保存到最终的匹配结果中,那么就认为这个子表达式是零宽度的。
占有字符还是零宽度,是针对匹配的内容是否保存到最终的匹配结果中而言的。
(?=exp) 断言自身出现的位置的后面能匹配表达式exp
(?<=exp) 断言自身出现的位置的前面能匹配表达式exp
(?!exp) 断言此位置的后面不能匹配表达式exp
(?<!exp) 断言此位置的前面不能匹配表达式exp