前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >正则表达式-6.查找方向

正则表达式-6.查找方向

作者头像
悠扬前奏
发布2019-05-28 12:38:00
8060
发布2019-05-28 12:38:00
举报

1. 前后查找

如果,需要一个模式,它包含的匹配本身并不返回,而是用于确认正确的匹配位置,它并不是匹配结果的一部分。这时就需要进行“前后查找”(一般而言,前后查找模式是相对于查找文本的位置而言,左为前)。

注意:前后查找包括向前查找(lookahead)和向后查找(lookbehind)。常见正则表达式都支持向前查找。但是Java,.NET,PHP和Perl支持的向后查找有一些限制。JavaScript和ColdFusion不支持向后查找。

2. 向前查找

  • 向前查找的子表达式用?=开头,需要匹配的文本跟在=的后面。
  • 向前查找指定了一个必须匹配但是不在结果中返回的模式。
  • 向前查找实际上是一个子表达式。
代码语言:javascript
复制
// 匹配协议名
"http://www.baidu.com/".match(/.+(?=:)/g); // ["http"]

注意:

  • 向前查找(和向后查找)匹配本身是有返回结果的,但是这个返回结果的字节长度永远是0。因此向前查找也被成为零宽度(zero-width)匹配操作.
  • 任何子表达式都可以转换为向前查找的表达式。在同一个搜索模式中可以使用多个向前搜索的表达式,它们可以出现在模式的任何位置。

3. 向后查找

  • 向后查找子表达式用?<=开头
  • 不是所有的正则表达式引擎都支持向后查找
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.12.17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 前后查找
  • 2. 向前查找
  • 3. 向后查找
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档