小编alo*_*lon的帖子

正则表达式 - 匹配模式中的单词,电子邮件地址除外

我希望在字符串中找到与特定模式匹配的单词.问题是,如果单词是电子邮件地址的一部分,则应忽略它们.

简化"正确单词"的模式\w+\.\w+- 一个或多个字符,实际句点和另一系列字符.

例如,导致问题的句子是a.a b.b:c.c d.d@e.e.e.

目标是仅匹配[a.a, b.b, c.c].对于我构建的大多数正则表达式,e.e也会返回(因为我使用了一些单词边界匹配).

例如:

>>> re.findall(r"(?:^|\s|\W)(?<!@)(\w+\.\w+)(?!@)\b", "a.a b.b:c.c d.d@e.e.e") ['a.a', 'b.b', 'c.c', 'e.e']

如何只匹配不包含"@"的单词?

python regex negative-lookbehind negative-lookahead

5
推荐指数
1
解决办法
116
查看次数