我需要将每个字符串分开;不能转义的字符(前面带有0、2、4、6等反斜杠)。
关于此问题,已经有多个主题,但是我找不到适合我的任何东西。我尝试过的每个正则表达式都给出了错误,或者没有以任何有效的分界符来分割字符串,或者根本没有将其分割。
"statement1(); statement2('\;');".split(/(\\.;[^;])+/g)
此e。 G。刚刚返回['statement1(); statement2(\'; \');' ]。 还有其他想法吗?
答案 0 :(得分:0)
您可以使用后置断言来解决此问题:
/(?<=[^\\]);/
应该做您所需要的。它说匹配;
前面有一个不是\
的字符。
在另一种编程语言中,我会使用否定的隐式断言,但是只有非常新的JavaScript版本支持它,因此如上所述,将其编写为肯定的隐式断言是更安全的。