简笔一
正则零宽断言
- “(?=exp)” 匹配exp前面的位置
A(?=B)C
结果:A
简单解释:B前的A
如 “How are you doing” 正则"(.+(?=ing))" 这里取ing前所有的字符,值为"How are you do";
- “(?<=exp)” 匹配exp后面的位置
A(?=B)C
结果:C
简单解释:B后的C
如 “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"