Barret Lee Home
facebook send mail to barret sina weibo
share

正则中分支示例edit

日期:2014-05-04

作者: Barret Lee

问题:

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

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

回答:

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

标签: regexp branch
上一篇:git切换到远程分支
下一篇:绝对定位,margin:0 auto,让元素竖直居中