Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript String.split():按拆分;前面没有反斜杠吗?_Javascript_Regex_String_Split - Fatal编程技术网

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

JavaScript String.split():按拆分;前面没有反斜杠吗?,javascript,regex,string,split,Javascript,Regex,String,Split,我需要把每根绳子分开;未转义(前面有0、2、4、6等反斜杠) 关于这个问题已经有好几条线索了,但我没有找到任何适合我的。我尝试的每个正则表达式要么给出一个错误,要么在任何有效的delimeter处拆分字符串,要么根本不拆分字符串 "statement1(); statement2('\;');".split(/(\\.;[^;])+/g) 这是e。G刚刚返回['statement1();statement2(\';\');']。 还有其他想法吗?您可以使用查找断言解决此问题: /(?<=

我需要把每根绳子分开;未转义(前面有0、2、4、6等反斜杠)

关于这个问题已经有好几条线索了,但我没有找到任何适合我的。我尝试的每个正则表达式要么给出一个错误,要么在任何有效的delimeter处拆分字符串,要么根本不拆分字符串

"statement1(); statement2('\;');".split(/(\\.;[^;])+/g)
这是e。G刚刚返回['statement1();statement2(\';\');']。
还有其他想法吗?

您可以使用查找断言解决此问题:

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

/(?给定的输入字符串中实际上没有任何文字反斜杠。您的实际输入是否包含反斜杠?您能否提供一些输入示例和预期结果?带有反斜杠的字符串在执行之前进行计算。如果在输入值中,则它将是文字反斜杠。否则,该字符串必须用“\\”表示一个反斜杠。可能与主题无关,但您确定也要拆分(未转换)用引号括起来的分号?谢谢@MrLister,我真的忘记了这一点!我想,我不会使用任何正则表达式,而是会为
-循环编写一个简单的
,循环遍历每个字符并拆分语句。不太优雅,但应该可以:)这对我不起作用:
“s1;s2(\;)。拆分(/)我找到了另一个选择,请看我上面的评论听起来不错。如果你解决了你的问题,那才是最重要的。