Javascript 正则表达式在js中选择一个,但不选择多个

Javascript 正则表达式在js中选择一个,但不选择多个,javascript,regex,split,Javascript,Regex,Split,我想在/处拆分字符串,但不想在/或//处拆分字符串 我的尝试: /[^\/]\/[^\/]/g但我不希望选择/前后的字符。 /\b\/\b/g不工作,因为\b只对\w计算 /(?但javascript中不支持查找 我找不到实现目标的方法。有没有人能解决这个问题,或者这在javascript中是不可能的?您可以使用 .match(/(?:\/{2,}|[^\/])+/g) 见 (?:\/{2,}|[^\/])+模式匹配2个或多个/字符或任何字符的一个或多个(+)出现,但/。这意味着它匹配任何字符

我想在
/
处拆分字符串,但不想在
/
//
处拆分字符串
我的尝试:

  • /[^\/]\/[^\/]/g
    但我不希望选择
    /
    前后的字符。
  • /\b\/\b/g
    不工作,因为
    \b
    只对
    \w
    计算
  • /(?但javascript中不支持查找
  • 我找不到实现目标的方法。有没有人能解决这个问题,或者这在javascript中是不可能的?

    您可以使用

    .match(/(?:\/{2,}|[^\/])+/g)
    

    (?:\/{2,}|[^\/])+
    模式匹配2个或多个
    /
    字符或任何字符的一个或多个(
    +
    )出现,但
    /
    。这意味着它匹配任何字符,最多匹配一个
    /

    var rx=/(?:\/{2,}|[^\/])+/g;
    var s=“a/b//c///d///r”;
    
    console.log(s.match(rx));
    好的,现在除了一个/,所有的东西都被选中了。但是我真的想选择它们。可以否定整个表达式吗?@s.Babovic你不能使用
    split()
    方法。如我所示,使用
    .match()
    。好的,在Chrome中,有一种方法可以使用lookback(启用了一些特殊选项),但它仍然是JS regexp的非标准构造。