我正在开发一个反垃圾邮件聊天机器人,并且一直在使用以下Regex来抓住垃圾邮件发送者。
spam = re.compile(ur'(?:\b(\w+)\b) (?:\1(?: |$))+')
但是,问题在于,当同一个单词重复两次时会触发。我怎么做到这一点,如果这个词总共重复4次而不仅仅是2次呢?
感谢高级!
答案 0 :(得分:0)
这是连续4次
更一般地说,您可以用空格[ ]
替换空格\s+
并允许一些分离。
# \b(\w+)(?:[ ]\1(?=[ ]|$)){3}
\b
( \w+ ) # (1), One
(?: # Plus
[ ]
\1 # Three
(?= [ ] | $ )
){3}
# Four Total