您现在的位置是:首页 > 学无止境 > 其他网站首页其他 PHP正则表达式之零宽断言

PHP正则表达式之零宽断言

  • 莫愁
  • 其他
  • 2019-05-24
简介在使用正则表达式时,有时我们需要捕获的内容前后必须是特定内容,但又不捕获这些特定内容的时候,零宽断言就起到作用了.
字数 932

正则表达式

正则表达式之零宽断言

零宽断言:用于查找特定内容之前或之后的内容,但并不包括特定内容本身。
断言用来声明一个应该为真的事实。正则表达式中只有当断言为真时才会继续进行匹配。
简单来说就是匹配一个位置,这个位置满足某个正则,但不纳入结果的,所以叫“零宽断言”,而且这个位置的前面或后面需要满足某种正则。

分类 代码/语法 说明
零宽度正预测先行断言 (?=exp) 匹配exp前面的位置
零宽度正回顾后发断言 (?<=exp) 匹配exp后面的位置
零宽度负预测先行断言 (?!exp) 匹配后面跟的不是exp的位置
零宽度负回顾后发断言 (?<!exp) 匹配前面不是exp的位置

下面结合例子来理解下什么是零宽断言。

1、正预测先行断言

解析:首先查找字符串"www.mochoublog.com</div> "中</div>的位置,断言为真,然后继续在该字符串之前进行匹配。

2、正回顾后发断言

解析:第一步,查找字符"<div>www.mochoublog.com "是否包含有<div>,返回结果为true,然后在<div>后进行匹配。

3、负预测先行断言

解析:首先判断字符串"www.mochoublog.com"是否包含www,然后判断其后面不是e,最后匹配所有。可以看出反向断言之前后之后,能够在添加其他匹配条件。

4、负回顾后发断言

解析:首先在字符串"www.mochoublog.com"中匹配.mochou,然后判断其前面是不是有w,发现其前面是"www."包含".",故返回false。

示例

 


转载: 感谢您对莫愁个人博客网站平台的认可,非常欢迎各位朋友分享到个人站长或者朋友圈,但转载请说明文章出处“来源莫愁个人博客 https://www.mochoublog.com/study/230.html”。

文章评论

    • 评论
    人参与,条评论

技术在线

服务时间

周一至周日 12:00-22:00

关闭下雪
关闭背景特效