用于在 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+ 个字符。 @
和 \.
分别匹配 @
和 .
。
我正在尝试使用 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+ 个字符。 @
和 \.
分别匹配 @
和 .
。