如何在Nokogiri的 HTML代码中找到电子邮件地址? 我想我需要使用正则表达式,但不知道如何. 示例代码 html titleExample/title body This is an example text. example@example.com /body /html 当有一个关于mail
我想我需要使用正则表达式,但不知道如何.
示例代码
<html> <title>Example</title> <body> This is an example text. example@example.com </body> </html>
当有一个关于mail_to的href时,有一个答案覆盖案例,但这不是我的情况.电子邮件地址有时位于链接中,但并非总是如此.
谢谢
如果你只是试图从一个恰好是HTML的字符串中解析电子邮件地址,那么就不需要Nokogiri.html_string = "Your HTML here..." email_address = html_string.match(/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}/i)[0]
这不是一个完美的解决方案,因为构成“有效”电子邮件地址的RFC非常宽松.这意味着您遇到的大多数正则表达式(包括上面的表达式)都不考虑边缘情况有效地址.例如,根据RFC
$A12345@example.com
是一个有效的电子邮件地址,但不会与上面的正则表达式匹配.
>推荐阅读:http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
>正则表达式来源:http://www.dzone.com/snippets/ruby-method-extract-emails