我尝试了很多种组合,但我无法将其归零。不知道我错过了什么。从而寻求帮助。
这是想要的东西
'hello AND AND NOT there AND NOT how NOT are you'.split(new RegExp(<expression>));
像
一样分裂["hello", "there", "how", "are you"]
但我无法将其归零。任何帮助表示赞赏。
这是我尝试过的。
(AND\\s+)*?NOT
(AND\\s+)+?NOT
(AND\\s+(?=(AND\\s+)+))+?NOT
AND.*NOT
修改 我很抱歉不清楚。我希望分离器为(AND(空间:零或更多时间)){整个模式为零或更多时间}(后跟NOT)
很想用普通的javascript来完成它。
答案 0 :(得分:4)
基于新要求:
/(?:\s*(?:AND\s*)*)NOT\s*/
用法(使用filter
清除捕获的空字符串!):
var str = 'hello AND AND NOT there AND NOT how NOT are you';
var x = str.split(/(?:\s*(?:AND\s*)*)NOT\s*/).filter(String);
document.write(JSON.stringify(x));
&#13;
答案 1 :(得分:0)
var str = "hello AND AND NOT there AND NOT how NOT are you";
var tempArry = str.replace(/AND|NOT/g,'');
tempArry = $.trim(tempArry).split("\s+");
document.getElementById('result').innerHTML = tempArry;
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p id="result"></p>
&#13;