用于在 WebHarvy 中提取电子邮件的正则表达式

Regex to extract emails in WebHarvy

我正在尝试使用 WebHarvy (.NET) 构建正则表达式以从 WP 目录中提取电子邮件地址

电子邮件可以有多种格式,使用点和下划线,所以我尝试了以下表达式

(\w+|\w+(\W|\.)\w+)@\w+.\w+
\w.+|\w+\S\w+@\w+\.\w+

虽然它们似乎在 Regexstorm 测试器中工作,但当我在 WebHarvy 中使用它们时,它们只是提取 @

之前的部分

请指教

问题是 WebHarvey returns 捕获组值。由于您使用捕获组 ((\w+|\w+(\W|\.)\w+)) 包装了用户部分,因此它 returns 只有那部分。

您可以使用 非捕获 组 ((?:...)) as

修复您的正则表达式
(\w+(?:\W+\w+)*@\w+\.\w+)

或使用更通用的

([^\s<>'"]+@[^\s<>'"]+\.[^\s<>'"]+)

[^\s<>'"]+ 将匹配除空格、<>'" 符号之外的 1+ 个字符。 @\. 分别匹配 @.