我需要一个匹配所有内容的正则表达式,除了三个确切的单词。例如,我不希望它匹配红色、绿色和蓝色。所以它不应该匹配红色、绿色或蓝色,但它应该匹配常绿和绿色。
有没有办法在正则表达式中做到这一点?
我需要一个匹配所有内容的正则表达式,除了三个确切的单词。例如,我不希望它匹配红色、绿色和蓝色。所以它不应该匹配红色、绿色或蓝色,但它应该匹配常绿和绿色。
有没有办法在正则表达式中做到这一点?
要捕获greens
,或者blueberry
我们可以在前瞻中添加一个\b
(因此它必须是单数单词“blue”、“red”或“green”):
(\b(?!red\b|green\b|blue\b)\w+\b)
这导致:
something 绿色 evergreens 红色 fred 蓝色 navyblue greens something blueberry else
根据您的正则表达式的风格,您可以使用负前瞻:
(\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
something 绿色 evergreens 红色 fred 蓝色 navyblue something else