如何匹配任何不等于某个值的子字符串? [已关闭]

问题描述 投票:0回答:1
我已经在这里呆了几个小时了,但我一无所获。给定这个字符串:

"wolf AND horse AND NOT mountain goat OR cow AND NOT dog"
我需要匹配“狼”、“马”、“山羊”、“牛”和“狗”。如何过滤掉“AND”、“AND NOT”和“OR”。

正则表达式风格是 JavaScript。

提前致谢!

编辑:

我现在明白我来这里的目的并不明显。希望澄清一下:示例字符串是一个搜索查询(完全是虚构的,没有任何意义,但这不是重点)。 “AND”、“AND NOT”和“OR”是查询中可能出现的不同运算符,我需要获取它们之间的内容。

但是也许没有神奇的正则表达式子弹可以解决这个问题,而且我还有其他方法来解决这个问题!但我有兴趣找到一个正则表达式!

javascript regex
1个回答
-1
投票

split()

 与与您要忽略的连接器相匹配的正则表达式一起使用:

const string = "wolf AND horse AND NOT mountain goat OR cow AND NOT dog"; const result = string.split(/\s+(?:AND|OR)(?:\s+NOT)?\s+/); console.log(result);

© www.soinside.com 2019 - 2024. All rights reserved.