我有像
这样的字符串A_B_C_D
A_B___C_D
___
可以在字符串中的任何位置。
在任何单_
而不是___
分割它们的最简单方法是什么?
答案 0 :(得分:8)
>>> "A_B_C_D".match(/(?:[^_]|_{2,})+/g)
["A", "B", "C", "D"]
>>> "A_B___C_D".match(/(?:[^_]|_{2,})+/g)
["A", "B___C", "D"]
我们不是找到分隔符,而是找到组件本身。请注意,字符串必须是非_
(因为分隔符为_
)或多个_
。所以匹配它们的正则表达就像这样。
请注意,如果输入以_
开头或结尾,此正则表达式会忽略空字符串(例如"_a_"
将返回["a"]
。)