(?=正则表达式) VS (?:正则表达式).



JavaScript 中的(?=regex)(?:regex)有什么区别?

举个例子解释一下,请。

(?=regex)

是一个积极的展望,它匹配主表达式后面的组,而不将其包含在结果中。
例:

d(?=px)
1pt 2px 3em 4px

这只会匹配24,而不是整个2px4px

(?:regex)是非捕获组,它将多个令牌组合在一起,而不创建捕获组。
例:

(?:ha)+
hahaha haa hah!

这将匹配每个ha,但不会为其创建组。

最新更新