javascript拆分-替换为向后看

javascript拆分-替换为向后看,javascript,regex,Javascript,Regex,我有下面的字符串 这是一个示例字符串 我想根据|拆分上面的字符串,而不在|转义的地方拆分。(\|). 如何使用javascript实现这一点 注意:我提出了下面的正则表达式 (?<!\\)\| (? 但是Javascript不支持向后看,您可以执行匹配而不是拆分: > 'This | is a sample \\| string'.match(/([^\\|]|\\\|?)+/g) ["This ", " is a sample \| string"] 以上匹配项: 既不是反

我有下面的字符串

这是一个示例字符串

我想根据|拆分上面的字符串,而不在|转义的地方拆分。(\|). 如何使用javascript实现这一点

注意:我提出了下面的正则表达式

(?<!\\)\| 
(?

但是Javascript不支持向后看,您可以执行匹配而不是拆分:

> 'This | is a sample \\| string'.match(/([^\\|]|\\\|?)+/g)

["This ", " is a sample \| string"]
以上匹配项:

  • 既不是反斜杠也不是管道字符,或者
  • 如果为反斜杠,则为可选的管道字符

  • 你的字符串应该是
    这是一个示例字符串,在这种情况下你可以使用
    /[^\\]\\\\\/
    @elclars删除
    这个
    @nderscore之后的空格:你是对的,在这种情况下你可以捕获它,然后加入,就像
    str.split(/([^\\\])\/)
    。但我想这不是最好的正则表达式……嗨,杰克,上面的表达式还有一个问题。示例字符串“This | is | | sample string”。我需要将结果作为[“This”,“is”,“is”,“sample string”]