微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

正则环视

环视

环视只进行子表达式的匹配,不占有字符,匹配的内容不保存到匹配结果。环视的作用相当于对所在位置加了一个附加条件,只有满足了这个条件,环视子表达式才能匹配成功。

举个例子:

/\d+(?=px)/ig

用上面的正则去匹配1px,可以匹配成功,匹配到的结果是1。
但是如果用它去匹配1是匹配不成功的,因为不满足(?=px)。

正则中的环视有一下几种:

  • (?<=Expression)逆序肯定环视
    如果与子表达式匹配的字符串的左边的字符串匹配环视表达式Expression,则匹配成功

  • (?&gt!Expression)逆序否定环视
    如果与子表达式匹配的字符串的左边的字符串不匹配环视表达式Expression,则匹配成功

  • (?=Expression)顺序肯定环视
    如果与子表达式匹配的字符串的右边的字符串匹配环视表达式Expression,则匹配成功

  • (?!Expression)顺序否定环视
    如果与子表达式匹配的字符串的右边的字符串不匹配环视表达式Expression,则匹配成功

挺绕口的,用例子说明比较好理解一下

```
/\d+(?=px)/ig
```

如果上面的正则去匹配字符串”11px”,其中字符串”11”匹配了\d+,\d+后面跟着一个顺序肯定环视,那么接着匹配”11”右边的字符串”px”和环视表达式(?=px)是否匹配,这里是匹配的,因此该正则和字符串相匹配。

原文地址:https://www.jb51.cc/regex/359359.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐