使用MySQL查找HTML中的电子邮件链接

时间:2015-07-09 21:00:57

标签: html mysql regex

HTML存储在MySQL中。我需要做的是找出是否有包含电子邮件的href链接并且没有mailto:前缀到电子邮件。这可以在MySQL中完成吗?

这应该在查询中找到:

... <a href="user1@example.com">user1@example.com</a> ...

但不是这一个:

... <a href="mailto:user2@example.com">user2@example.com</a> ...

注意:如果需要,我可以使用PHP / Python并解析HTML,但我希望通过仅使用MySQL来更快/更简单地完成此操作。

奖金问题:

您可以在更新中使用上述查询添加丢失的邮件吗?

1 个答案:

答案 0 :(得分:1)

您可以使用MySQL REGEXP查找是否有没有mailto的电子邮件。

SELECT * FROM 'table' WHERE 'column' REGEXP 'href\=\"[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\"'

我相信正则表达式应匹配以下格式的任何内容:href =&#34; asdf@asdf.com" 但它不会匹配:href =&#34; mailto:asdf@asdf.com"