我想在/
但不在//
或///
分割字符串。
我尝试了什么:
/[^\/]\/[^\/]/g
但我不希望选择/
之前和之后的字符。/\b\/\b/g
无效,因为\b
仅计入\w
。/(?<!\/)\/(?!\/)/g
但javascript中不支持lookbehind。我无法找到实现目标的方法。有没有人解决这个问题,或者这在javascript中是不可能的?
答案 0 :(得分:2)
您可以使用
.match(/(?:\/{2,}|[^\/])+/g)
请参阅regex demo
(?:\/{2,}|[^\/])+
模式匹配一个或多个(+
)出现的2个或更多/
个字符或任何字符/
。这意味着它匹配任何字符,直到单个/
。
var rx = /(?:\/{2,}|[^\/])+/g;
var s = "a/b//c///d////r";
console.log(s.match(rx));