簡體   English   中英

如何從WHOIS結果中解析電子郵件地址

[英]How to parse email address out of WHOIS results

假設我有一個WHOIS查詢,該查詢以以下格式返回結果(此問題已簡化:)

Domain name:           mydomain.ca
Administrative contact:
    Name:              John Smith
    ... other fields...
    Email:             johnsmith@gmail.com
Technical contact:
    Name:              Jane Doe
    Email:             janedoe@gmail.com
Name servers:
    ns1.mydomain.com
    ns2.mydomain.com

我想要一個正則表達式,它可以給我行政聯系人的電子郵件地址(johnsmith@gmail.com),而不是技術聯系人的電子郵件地址。 驗證電子郵件地址本身的格式並不重要。

我根本不會嘗試使用正則表達式。 這是我可能會做的:

  1. 將響應分成幾行
  2. 掃描查找“管理聯系人:”的行
  3. 掃描具有“電子郵件:”的下一行
  4. 提取該行的第二個單詞

您可能需要根據需要微調此過程。

正則表達式為:

"Administrative contact:.*?Email: *([^ \n]*)"

您需要輸入“。”。 特殊字符完全匹配任何字符,包括換行符。 不確定如何在C#中做到這一點,但是在python中,匹配(經過測試並可以正常工作)是這樣完成的:

match = re.search(r"Administrative contact:.*?Email: *([^ \n]*)", text, re.DOTALL)

您可能還考慮到,這對於大文件來說效率非常低(使用。匹配換行符非常昂貴),因此您也可以考慮Jordan的解決方案。

好吧,您可以只搜索一般的電子郵件字符串,正則表達式為:

([\w-+]+(?:\.[\w-+]+)*@(?:[\w-]+\.)+[a-zA-Z]{2,7})

如前所述,注冊服務商的頁面格式,電子郵件地址等可以有非常不同的格式,這會讓您感到痛苦。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM