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

标签 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 来完成此操作。

奖励问题:

您可以在更新中使用上述查询来添加缺少的 mailto 吗?

最佳答案

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

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

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

关于html - 使用 MySQL 查找 HTML 中的电子邮件链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31328139/

相关文章:

javascript - 添加两个 JavaScript 函数

php - 网页无法读取 CSS 文件

java - hibernate查询缓存和时间戳

php - 将 JSON 数据插入 MySQL 表

c# - 如何在 C# 中计算每个新行的所有行的总和

html - html 输入元素的高度不同,计算错误

html - 在表格中以固定宽度显示文本

regex - 如何匹配除少数字母以外的所有字母?

java - 正则表达式检查中间 3 个字符

regex - 根据源文件内容解析目标文件