零宽断言正如它的名字一样,是一种零宽度的匹配,它匹配到的内容不会保存到匹配结果中去,最终匹配结果只是一个位置(并不消耗字符串)。
-
正向先行断言(正前瞻):
· 语法:xxx(?=pattern)
· 作用:紧接xxx位置右侧的字符序列能够匹配pattern。 -
正向后行断言(正后顾):
· 语法:(?<=pattern)xxx
· 作用:紧接xxx位置左侧的字符序列能够匹配pattern。
例子:(?<=一)年(?=半)匹配前面是一和后面是半中的年字
-
负向先行断言(负前瞻)
· 语法:xxx(?!pattern)
· 作用:紧接该位置之后的字符序列不能匹配pattern。 -
负向后行断言(负后顾)
· 语法:(?<!pattern)xxx
· 作用:紧接该位置之前的字符序列不能匹配pattern。
例子:(?<!余)年(?!余) 匹配前面和后面不是余的年字
网友评论