加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式:比赛之前/之后

发布时间:2020-12-14 06:08:07 所属栏目:百科 来源:网络整理
导读:考虑这个文字:100美元 如果我想匹配100(使用前瞻),我写道: d{3}(?= dollars) 据我所知,该模式意味着:只有当(如果)后跟“美元”时才能找到3位数字 但是前瞻可以奇怪的方式使用;在上述文字中再次匹配100: (?=d{3} dollars).{3} 这怎么可能?我们如何解释
考虑这个文字:100美元

如果我想匹配100(使用前瞻),我写道:

d{3}(?= dollars)

据我所知,该模式意味着:只有当(如果)后跟“美元”时才能找到3位数字

但是前瞻可以奇怪的方式使用;在上述文字中再次匹配100:

(?=d{3} dollars).{3}

这怎么可能?我们如何解释第二次使用前瞻?

解决方法

记住,lookarounds是零宽度断言.这意味着它们在匹配时不会消耗字符.它们基本上是对字符串中给定点的检查.在第二个正则表达式中,引擎首先检查从字符串中的特定点开始查看内部的模式是否匹配,如果匹配,则此时匹配从该位置继续消耗字符(.{3}).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读