$ node
> "ababaabab".split(/a{2}/)
[ 'abab', 'bab' ]
> "ababaabab".split(/(a){2}/)
[ 'abab', 'a', 'bab' ]
>
所以,这对我来说没有意义。有人可以解释一下吗?我不明白为什么'a'
出现。
注意:我正在尝试匹配双行结尾(可能在 Windows 文件上),所以我要分开/(\r?\n){2}/
。然而我变得无关紧要'\015\n'
我的数组中的条目(注意\015 == \r
).
为什么会出现这些?
注意:也会影响浏览器中的 JS 引擎,因此这是特定于 JS 而不是 Node 的。
在你的第二个结果中,a
出现是因为您已将其包装在捕获组中()
(括号)。
如果你想not包含它,但您仍然需要一个条件组,请使用非捕获组:(?:a)
。问号冒号可以在任何捕获组内使用,并且将从捕获结果列表中省略。
下面是一个简单的实际例子:http://regex101.com/r/yM1vM4 http://regex101.com/r/yM1vM4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)