零宽断言正则表达式

"(?=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

 

posted @ 2018-11-09 14:36  你风致  阅读(536)  评论(0编辑  收藏  举报