零宽度断言

断言本身不匹配任何字符,只检查条件是否成立。

先行断言 (Lookahead Assertions):

  • 正先行断言 (Positive Lookahead): (?=...) 断言当前位置的右侧必须匹配 ... 中的模式。
  • 负先行断言 (Negative Lookahead): (?!...) 断言当前位置的右侧不能匹配 ... 中的模式。

后行断言 (Lookbehind Assertions):

(某些正则表达式引擎不支持,例如 JavaScript 的 RegExp 对象,但较新的版本已支持)

  • 正后行断言 (Positive Lookbehind): (?<=...) 断言当前位置的左侧必须匹配 ... 中的模式。
  • 负后行断言 (Negative Lookbehind): (?<!...) 断言当前位置的左侧不能匹配 ... 中的模式。