【发布时间】:2020-11-20 21:49:18
【问题描述】:
我正在尝试编写一个正则表达式来匹配字符串中包含“foo”或“bar”但不包含“baz”的单词。
/(foo|bar).*(?!baz)/
我如何做到这一点?
【问题讨论】:
-
使用
/^(?!.*baz).*(?:foo|bar)/
标签: regex
我正在尝试编写一个正则表达式来匹配字符串中包含“foo”或“bar”但不包含“baz”的单词。
/(foo|bar).*(?!baz)/
我如何做到这一点?
【问题讨论】:
/^(?!.*baz).*(?:foo|bar)/
标签: regex
你可以使用这个正则表达式:
^(?!.*\bbaz\b).*\b(?:foo|bar)\b
(?!.*\bbaz\b) 是否定的先行条件,如果在输入中的任何位置找到单词 baz,则匹配失败。
【讨论】:
^(?!.*\b(?:baz|abc)\b).*\b(?:foo|bar)\b
re.match("^(?!.*\bbaz\b).*\b(?:foo|bar)\b", "foo bar") return None
re.match(r"^(?!.*\bbaz\b).*\b(?:foo|bar)\b", "foo bar") 并阅读 Python 中的原始字符串