当前位置 : 主页 > 编程语言 > ruby >

ruby-on-rails – 如何在Nokogiri的HTML代码中找到电子邮件地址?

来源:互联网 收集:自由互联 发布时间:2021-06-23
如何在Nokogiri的 HTML代码中找到电子邮件地址? 我想我需要使用正则表达式,但不知道如何. 示例代码 html titleExample/title body This is an example text. example@example.com /body /html 当有一个关于mail
如何在Nokogiri的 HTML代码中找到电子邮件地址?
我想我需要使用正则表达式,但不知道如何.

示例代码

<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

网友评论