Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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正则表达式_Javascript_Regex_Split_String Split - Fatal编程技术网

重复模式的javascript正则表达式

重复模式的javascript正则表达式,javascript,regex,split,string-split,Javascript,Regex,Split,String Split,我尝试了许多组合,但我无法将其归零。不知道我错过了什么。因此寻求帮助 这是我想要的 'hello AND AND NOT there AND NOT how NOT are you'.split(new RegExp(<expression>)); 但我无法将其归零。感谢您的帮助 这是我试过的 (AND\\s+)*?NOT (AND\\s+)+?NOT (AND\\s+(?=(AND\\s+)+))+?NOT AND.*NOT 编辑 我很抱歉说得不清楚。我希望拆分器是(AND(S

我尝试了许多组合,但我无法将其归零。不知道我错过了什么。因此寻求帮助

这是我想要的

'hello AND AND NOT there AND NOT how NOT are you'.split(new RegExp(<expression>));
但我无法将其归零。感谢您的帮助

这是我试过的

(AND\\s+)*?NOT
(AND\\s+)+?NOT
(AND\\s+(?=(AND\\s+)+))+?NOT
AND.*NOT
编辑 我很抱歉说得不清楚。我希望拆分器是(AND(SPACE:zero或more time)){整个模式为zero或more time}(后跟NOT)


希望使用纯javascript完成此任务。

基于新的要求:

/(?:\s*(?:AND\s*)*)NOT\s*/
用法(使用
filter
清理捕获的空字符串!):

var str='hello AND NOT there AND NOT how NOT you';
var x=str.split(/(?:\s*(?:和\s*)*)NOT\s*/).filter(字符串);
document.write(JSON.stringify(x))
var str=“你好,不在那里,不在你怎么样”;
var tempArry=str.replace(/和| NOT/g');
tempArry=$.trim(tempArry).split(“\s+”);
document.getElementById('result').innerHTML=tempArry


能否详细说明您需要的比赛组?会不会一直都是这样?还有其他词吗?我已经为splitter编辑了这个问题。它应该是个数(AND后跟随机数空格),然后是not。使用此正则表达式,您需要一个筛选post步骤。筛选可以是简单的
。筛选(字符串)
。抱歉,不清楚。我更新了问题中的拆分器。@TyagiAkhilesh更新了上面的模式。@hjpotter92谢谢男/女。工作起来很有魅力。我想知道为什么我不能弄明白这一点。我什么都试过了,除了:图案。我想我需要更多的研究。接受您的答案。我们可以尝试纯javascript吗?只需删除trim函数,它就会工作。只需编写
tempArry=tempArry.split(“\s+”)所以这就是它的实际效果。”hello AND NOT there AND NOT how NOT you.”替换(/和| NOT/g.)。拆分(“\s+”)不会产生所需的结果。您可以尝试此
“hello AND NOT there AND NOT how NOT you.”替换(/和| NOT/g.)。拆分(“\s+”[0]。拆分(“”)
,但它也会返回空值。您必须使用循环来删除它。
/(?:\s*(?:AND\s*)*)NOT\s*/