JavaScript 中的(?=regex)
和(?:regex)
有什么区别?
举个例子解释一下,请。
(?=regex)
是一个积极的展望,它匹配主表达式后面的组,而不将其包含在结果中。
例:
d(?=px)
1pt 2px 3em 4px
这只会匹配2
和4
,而不是整个2px
和4px
。
(?:regex)
是非捕获组,它将多个令牌组合在一起,而不创建捕获组。
例:
(?:ha)+
hahaha haa hah!
这将匹配每个ha
,但不会为其创建组。