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