【发布时间】:2019-12-21 17:27:29
【问题描述】:
我正在尝试匹配句子中的单词,不包括以 @ 开头的单词。
不排除以@开头的单词的原始模式如下:
>>> import re
>>> token_pattern_o='(?u)\\b\\w\\w+\\b'
>>> re.search(token_pattern_o, "@mutt")
<re.Match object; span=(1, 5), match='mutt'>
现在我只是为排除添加一个否定的前瞻:
>>> token_pattern = '(?u)\\b^(?!@)\\w\\w+\\b'
>>> re.search(token_pattern, "#mutt")
>>> re.search(token_pattern, "@mutt")
>>> re.search(token_pattern, "mutt")
<re.Match object; span=(0, 4), match='mutt'>
>>> re.search(token_pattern, "_mutt")
<re.Match object; span=(0, 5), match='_mutt'>
问题是,它排除了以任何特殊字符开头的每个单词。
有没有办法实现我想要实现的目标?
【问题讨论】:
标签: python regex regex-negation