我需要一个正则表达式,可以匹配除了三个确切的词以外的所有内容。例如,我不想匹配red、green和blue。因此,它不应该匹配red、green或blue,但是应该匹配evergreen和greens。
有没有办法在正则表达式中实现这个要求?
有没有办法在正则表达式中实现这个要求?
为了捕获greens
或blueberry
,我们可以在前瞻中添加\b
(这样它必须是单词“blue”,“red”或“green”):
(\b(?!red\b|green\b|blue\b)\w+\b)
以下是相关的it技术翻译:
something 显示为绿色 evergreens 显示为红色 fred 显示为蓝色 navyblue greens 显示为绿色 something blueberry 显示为蓝色 else
根据你所使用的正则表达式的不同,你可以使用负向先行断言(negative look-ahead):
(\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