7

我有像这样的字符串

A_B_C_D
A_B___C_D

___可以在字符串中的任何位置。

将它们拆分为任何单一_而不是拆分的最简单方法是什么___

4

1 回答 1

8
>>> "A_B_C_D".match(/(?:[^_]|_{2,})+/g)
["A", "B", "C", "D"]

>>> "A_B___C_D".match(/(?:[^_]|_{2,})+/g)
["A", "B___C", "D"]

我们没有找到分隔符,而是找到了组件本身。请注意,字符串必须是非_'s(因为分隔符是_)或多个_s。所以匹配它们的正则表达式就是这样。

请注意,如果输入以开头或结尾_(例如"_a_"将仅返回["a"].) ,则此正则表达式将忽略空字符串。

于 2012-04-30T08:18:34.893 回答