正则中分支示例

  1. 问题:

    "baddad".match(/([bd]ad?)*/)

    为什么匹配的是dad而不是bad。

    回答:

    不是不匹配bad,而是已经匹配过了,* 号为贪婪模式,所以第一次匹配到 bad 之后会继续往后吞并字符,最后发现后面还有一个 dad 也适合,于是便把 baddad 全部匹配了,第二次匹配是分支匹配,前面的 [bd] 是两个分支,刚才第一个分支已经匹配完了,进入第二个分支,也就是匹配 dad,所以第二个结果是dad就显而易见了。

全部评论

相关推荐

专心打鱼:互联网搬运工,贴子都要偷
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务