我有一个字符串,我希望它被拆分成一个数组,以便它被 '+' 拆分,除非它在括号内
例如字符串
"abc+OR+def+OR+(abc+AND+def)"
成为
["abc", "OR", "def", "OR", "(abc+AND+def)"]
和字符串
"(abc+AND+cde)+OR+(abc+AND+(cde+AND+fgh))"
成为
["(abc+AND+cde)", "OR", "(abc+AND+(cde+AND+fgh)"]
是否可以使用正则表达式来做到这一点?
最佳答案
您可以使用正则表达式执行此操作,但只能使用支持递归正则表达式的语言(例如,perl 或任何具有 PCRE 的语言)。
使用 JavaScript 正则表达式并不容易,因为它们不支持递归。 但是可以使用 XRegExp 使用附加插件:
http://xregexp.com/plugins/#matchRecursive
另请检查这两个链接:
关于javascript - 使用正则表达式拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11870820/