按不包含在括号中的单词拆分

-2 javascript regex jquery reactjs

这是我的字符串

var string = 'Title:(India OR America) OR Keyword:(Education)';
Run Code Online (Sandbox Code Playgroud)

用“OR”分割后显示

["Title:(India", "America)", "Keyword:(Education)"]
Run Code Online (Sandbox Code Playgroud)

但我需要的是下面的。

["Title:(India OR America)", "Keyword:(Education)"]
Run Code Online (Sandbox Code Playgroud)

任何人都可以请帮助如何拆分字符串以获得所需的结果。

Ror*_*san 5

要实现这一点,您需要使用负前瞻来仅查找OR不包含在括号中的字符串。尝试这个:

var input = 'Title:(India OR America) OR Keyword:(Education)';
var output = input.split(/(?!\(.*)\s?OR\s?(?![^(]*?\))/g);

console.log(output);
Run Code Online (Sandbox Code Playgroud)