正则表达式学习3-负向零宽断言
负向零宽断言 (?!表达式) 也是匹配一个零宽度的位置,不过这个位置的“断言”取表达式的反值,例如 (?!表达式)
表示 表达式
前面的位置,如果 表达式
不成立 ,匹配这个位置;如果 表达式
成立,则不匹配
加粗为被匹配到的:
expression
expression
,
expression
;
expression。
以上为使用 .+n(?!。)
的匹配结果。注意与 .+n[^。]
匹配的区别
expression
expression,
expression;
expression。
上面的例子,总结来说,就是[^。]一定要要有值,而(?!。)则只要不相同,即使没有值也是可以的,但是其中的表达式则不会被获取到。
和之前那些零宽断言一样,.+n(?!。)相当于.+n和^。的组合体,只不过当匹配到非。的时候,这个字符是不会被获取到的。
fighting