我有一个字符串,我想分割成一个数组使用逗号作为分隔符。我不希望括号之间的字符串部分被拆分,即使它们包含逗号。
例如:
"bibendum, morbi, non, quam (nec, dui, luctus), rutrum, nulla"
应变为:
["bibendum", "morbi", "non", "quam (nec, dui, luctus)", "rutrum", "nulla"]
但是当我使用基本的.split(",")
时,它返回:
["bibendum", " morbi", " non", " quam (nec", " dui", " luctus)", " rutrum", " nulla"]
我需要它返回:
["bibendum", " morbi", " non", " quam (nec, dui, luctus)", " rutrum", " nulla"]
感谢你的帮助。
5条答案
按热度按时间r1wp621o1#
给你正则表达式的解释:
dsf9zpds2#
您不需要为此使用花哨的正则表达式。
将console.log更改为数组串联或任何您想要的内容。
hivapdat3#
而不是专注于你不想要的东西,通常更容易表达为正则表达式你想要的东西,并使用全局正则表达式
match
:9njqaruj4#
zaqlnxep5#
我不喜欢在我的代码中有大的不透明的正则表达式,所以我使用了不同的解决方案。它仍然使用正则表达式,但我认为它更加透明。
我使用了一个更简单的正则表达式,用一个特殊的字符串替换括号内的逗号。然后我用逗号分割字符串,然后在每个结果标记中用逗号替换特殊字符串。