Regex 正则表达式匹配包含特定单词但不包含其他单词的字符串

Regex 正则表达式匹配包含特定单词但不包含其他单词的字符串,regex,Regex,我试图编写一个正则表达式,匹配字符串中任何包含“foo”或“bar”但不包含“baz”的单词 /(foo|bar).*(?!baz)/ 如何实现这一点?您可以使用以下正则表达式: ^(?!.*\bbaz\b).*\b(?:foo|bar)\b (?!.\bbaz\b)是一种负前瞻条件,如果在输入中的任何位置找到单词baz,则匹配失败 使用/^(?。*baz)。*(?:foo | bar)/谢谢,我如何在负数情况下拥有多个字符串,如“baz”和“abc”?@Nemo您可以使用:^(?。*\b(

我试图编写一个正则表达式,匹配字符串中任何包含“foo”或“bar”但不包含“baz”的单词

/(foo|bar).*(?!baz)/

如何实现这一点?

您可以使用以下正则表达式:

^(?!.*\bbaz\b).*\b(?:foo|bar)\b
(?!.\bbaz\b)
是一种负前瞻条件,如果在输入中的任何位置找到单词
baz
,则匹配失败


使用
/^(?。*baz)。*(?:foo | bar)/
谢谢,我如何在负数情况下拥有多个字符串,如“baz”和“abc”?@Nemo您可以使用:
^(?。*\b(?:baz | abc)\b.*\b(?:foo | bar)\b
不确定这是否有效:
re.match(^.*\b(?:foo | | bar);\b(?:foo | bar)
返回None@Wang:使用
re.match(r“^(?。*\bbaz\b)。*\b(?:foo | bar)\b,“foo bar”)
并阅读Python中的原始字符串