0

我正在寻找一个正则表达式,它只匹配所传递的文本的出现。我尝试使用\bwhich 确实适用于单词边界,但它不适用于!.

>>> list(re.finditer(r'\bhe\b','he is hey!'))

[<re.Match object; span=(0, 2), match='he'>]

>>> list(re.finditer(r'\bhe\b','he is he!'))

[<re.Match object; span=(0, 2), match='he'>, <re.Match object; span=(6, 8), match='he'>]

我不希望我的正则表达式匹配“他!”

4

1 回答 1

1

您可以匹配后面的单词边界\bhe使用否定的前瞻(?!来验证后面的不是非空白字符\S

\bhe(?!\S)

正则表达式演示

蟒蛇测试

于 2018-09-08T12:06:52.970 回答