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来更快/更简单地完成此操作。
奖金问题:
您可以在更新中使用上述查询添加丢失的邮件吗?
答案 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"