在javascript中,使用正则表达式在特定条件下拆分字符串

在javascript中,使用正则表达式在特定条件下拆分字符串,javascript,jquery,html,Javascript,Jquery,Html,我的具体问题是,我想使用javascript拆分函数拆分字符串,如 我的输入字符串是:-“Andy和sandy”正在进行 我希望我的输出是一个数组,比如 var Result= ["Andy and sandy","are","going"]; 我的脚本将是 var str='"Andy and sandy" are going'; var Result=str.split(RegularExp);//what would be the RegularExp ? 或者有没有别的办法,请帮帮我

我的具体问题是,我想使用javascript拆分函数拆分字符串,如

我的输入字符串是:-
“Andy和sandy”正在进行

我希望我的输出是一个数组,比如

var Result= ["Andy and sandy","are","going"];
我的脚本将是

var str='"Andy and sandy" are going';
var Result=str.split(RegularExp);//what would be the RegularExp ?
或者有没有别的办法,请帮帮我


谢谢

正则表达式可以是:

/ (?=(?:[^"]*"[^"]*")*[^"]*$)|"/
您仍然必须过滤掉空拆分(由于“位于字符串的开头):


regexp匹配所有的
,以及后面跟偶数个

重复:@Sheetal,我故意没有因为错误的方式发布此问题,顺便说一句,感谢您提供的链接。假设您想要的内容超出了上一个问题的范围,则需要指定此问题,而不是给出单个示例。”。你为什么需要这个结果,以及它如何符合你的应用程序的要求?@hardmath,基本上我正在尝试的是使用用户输入实现对应用程序的搜索,如果输入将在引号下包含单词,那么我们将需要搜索确切的单词以及输入可能包含的信息,或者,不是像逻辑运算符一样处理的关键字…希望您现在理解这将如何帮助我。
var str = '"Andy and sandy" testing does work " lol is a nice word" are going';
var Result = str.split(/ (?=(?:[^"]*"[^"]*")*[^"]*$)|"/)
                .filter(function(item) { return item !== '' });

// ["Andy and sandy", "testing", "does", "work", " lol is a nice word", "are", "going"]