正则表达式:忽略额外的字符

Fux*_*uxi 5 regex

我试图弄清楚如何检测垃圾邮件中的额外字符,如:

pha.rmacy 要么 vi*agra

有任何想法吗?

Joã*_*lva 3

您可以使用(不)相似性度量,例如编辑距离。例如,vi.agraviagra之间的编辑距离是1。

然后,如果给定单词​​之间的编辑距离低于某个阈值(例如 2),则可以确定给定单词与垃圾邮件单词相同。

但如果您确实想使用正则表达式,您可以使用类似的方法/[^a-zA-Z0-9-\s]/从单词中删除标点符号。但话又说回来,你将无法识别出viZagra与 是同一个词的东西viagra