JavaScript String.split():分割;前面没有反斜杠?

时间:2019-07-16 22:53:55

标签: javascript regex string split

我需要将每个字符串分开;不能转义的字符(前面带有0、2、4、6等反斜杠)。

关于此问题,已经有多个主题,但是我找不到适合我的任何东西。我尝试过的每个正则表达式都给出了错误,或者没有以任何有效的分界符来分割字符串,或者根本没有将其分割。

"statement1(); statement2('\;');".split(/(\\.;[^;])+/g)

此e。 G。刚刚返回['statement1(); statement2(\'; \');' ]。 还有其他想法吗?

1 个答案:

答案 0 :(得分:0)

您可以使用后置断言来解决此问题:

/(?<=[^\\]);/

应该做您所需要的。它说匹配;前面有一个不是\的字符。

在另一种编程语言中,我会使用否定的隐式断言,但是只有非常新的JavaScript版本支持它,因此如上所述,将其编写为肯定的隐式断言是更安全的。