您现在的位置是:首页 > 学无止境 > 其他网站首页其他 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”。
- 其他
- 2019-05-24
正则表达式之零宽断言
零宽断言:用于查找特定内容之前或之后的内容,但并不包括特定内容本身。
断言用来声明一个应该为真的事实。正则表达式中只有当断言为真时才会继续进行匹配。
简单来说就是匹配一个位置,这个位置满足某个正则,但不纳入结果的,所以叫“零宽断言”,而且这个位置的前面或后面需要满足某种正则。
分类 | 代码/语法 | 说明 |
---|---|---|
零宽度正预测先行断言 | (?=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”。