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

时间:2017-04-27 19:47:54

标签: regex regex-lookarounds regex-greedy webharvy

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

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

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

虽然他们似乎在Regexstorm测试中工作,但当我在WebHarvy中使用它们时,他们只是提取@之前的部分

请告知

1 个答案:

答案 0 :(得分:2)

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

您可以使用非捕获组((?:...))修复您的正则表达式

(\w+(?:\W+\w+)*@\w+\.\w+)

或使用更通用的

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

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