'1 and 1'.split(/\s+(and|or)\s+/i) 结果是 ["1", "and", "1"] 为什么不是 ["1", "1"]
因为有正则中用括号将and|or包括起来了,相当于是捕获了,然后其捕获结果会返回给split
and|or
split
'1 and 1'.split(/\s+(?:and|or)\s+/i)
这样就不会捕获了。
13 回答13.1k 阅读
7 回答2.3k 阅读
3 回答1.4k 阅读✓ 已解决
6 回答1.5k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
3 回答2.2k 阅读
5 回答4.2k 阅读
4 回答2.9k 阅读
6 回答3.6k 阅读
5 回答3k 阅读✓ 已解决
因为有正则中用括号将
and|or
包括起来了,相当于是捕获了,然后其捕获结果会返回给split
这样就不会捕获了。