零宽断言正则表达式

"(?=exp)"  匹配exp前面的位置

  如 "How are you doing" 正则"(.+(?=ing))" 这里取ing前所有的字符,值为"How are you do";

"(?<=exp)"  匹配exp后面的位置

  如 "How are you doing" 正则"((?<=How).+)" 这里取"How"之后所有的字符,值为" are you doing";

"(?!exp)"  匹配后面跟的不是exp的位置

  如 "123abc" 正则 "d{3}(?!d)"匹配3位数字后非数字的结果

"(?<!exp)"  匹配前面不是exp的位置

  如 "abc123 " 正则 "(?<![0-9])123" 匹配"123"前面是非数字的结果也可写成"(?!<d)123"

"(?:exp|exp1)"  匹配后面跟的是exp或exp1

  如 "abc123 " 和“abc456”正则 "abc(?:123|456)" 匹配abc后面跟的是123或者456

原文地址:https://www.cnblogs.com/xinyouhunran/p/9934979.html