Regex 不匹配任何精确单词的正则表达式
我需要一个正则表达式,除了三个确切的单词之外,它可以匹配所有的东西。例如,我不希望它与红色、绿色和蓝色匹配。因此,它不应该匹配红色、绿色或蓝色,而应该匹配常绿和绿色 在正则表达式中有什么方法可以做到这一点吗?Update 要捕获Regex 不匹配任何精确单词的正则表达式,regex,Regex,我需要一个正则表达式,除了三个确切的单词之外,它可以匹配所有的东西。例如,我不希望它与红色、绿色和蓝色匹配。因此,它不应该匹配红色、绿色或蓝色,而应该匹配常绿和绿色 在正则表达式中有什么方法可以做到这一点吗?Update 要捕获绿色或蓝莓,我们可以在前瞻中添加一个\b(因此它必须是单数单词“蓝色”、“红色”或“绿色”): 其中: 某物 绿色 常青树 红色 弗雷德 蓝色 海军蓝 果岭 某物 蓝莓 否则 根据您的正则表达式风格,您可以使用负面展望: (\b(?!red|green|blue)\w+
绿色
或蓝莓
,我们可以在前瞻中添加一个\b
(因此它必须是单数单词“蓝色”、“红色”或“绿色”):
其中:
某物
绿色
常青树
红色
弗雷德
蓝色
海军蓝
果岭
某物
蓝莓
否则
根据您的正则表达式风格,您可以使用负面展望:
(\b(?!red|green|blue)\w+\b)
这基本上意味着:
( # begin capture
\b # word delimeter
(?!red|green|blue) # exceptions
\w+ # capture any word-characters (equiv: [a-zA-Z_])
\b # word delimeter
) # end capture
例如:
某物
绿色
常青树
红色
弗雷德
蓝色
海军蓝
某物
否则谢谢你,布拉德!这和我想要的很相似,但问题是它和果岭不匹配。这是我无法解决的障碍。任何帮助都将不胜感激。谢谢@ZShah:好吧,拍一张效果很好的照片!非常感谢!!它解决了这个问题,也学到了很多新的东西,特别是在“前瞻”中结合了单词边界。展示你迄今为止所拥有的,你的方法是什么,以及你选择使用的风格。
( # begin capture
\b # word delimeter
(?!red|green|blue) # exceptions
\w+ # capture any word-characters (equiv: [a-zA-Z_])
\b # word delimeter
) # end capture