javascript split()使用regEx

时间:2016-04-14 06:38:59

标签: javascript regex

我想分开" A // B / C"使用javascript split()函数

的字符串
"A//B/C".split(/\//g)

但它的输出是["A", "", "B", "C"],但我的预期输出是

["A/", "B", "C"]

我是如何使用javascript进行此操作的?

3 个答案:

答案 0 :(得分:6)

我更新了@Tushar的答案并试了一下这对我有用..添加\b只匹配正斜杠后跟字边界例如,[az]和[0-9]

"A//B/C".split(/\/\b/)

答案 1 :(得分:2)

如果后跟RegExp或输入结束

,请/\/(?=[A-Z]|$)/ /A-Z匹配
"A//B/C".split(/\/(?=[A-Z]|$)/)

答案 2 :(得分:0)

您需要将字符串拆分到当前字符为“/”且后面的字符不是“/”的位置。但是,正则表达式不应该消耗第二个(负)条件。换句话说:它不应该被视为范围。为此,您可以使用所谓的“向前看”。有一个积极的“向前看”和一个负向的。在这里我们需要一个消极的,因为我们想要表达“没有跟着”。语法为:(?!<string>),而不应该“跟随”。

所以你去了:/\/(?!\/)/

应用于您的示例:

"A//B/C".split(/\/(?!\/)/); // ["A/", "B", "C"]