簡體   English   中英

使用正則表達式從字符串中提取電子郵件地址

[英]Extract email address(s) from string using regular expression

我有一個要求,使我有一些文字如下

Hello 
How r u
Email: mail3456@gg.com
Another email is aaa@zz.com
And not a valid email as invalid@.com

這是一個字符串,我要做的是,我需要確定字符串中是否存在任何電子郵件地址。 如果是這樣,我需要提取它。

請注意,字符串中可以有多個電子郵件地址。

是否可以使用常規exprerssion來這樣做。

謝謝

我認為這篇文章是您所需要的:

http://www.regular-expressions.info/email.html

范圍從:

^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$

至:

[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?

是否真的有多行文字? 從此示例看來,每行最多包含一個電子郵件地址。 我先將文本分成字符串數組 ,然后使用選擇的正則表達式評估每個單獨的字符串。

僅供參考,出於性能方面的考慮,您可能想在進入數組循環之前實例化正則表達式。 最近,我多次重新實例化一個已編譯的正則表達式,令我驚訝,以至於意識到它對性能造成的影響。 我進入了單例課程,這樣就只能有一個實例。

用空格字符' ''\\n' ...等分割您的字符串,然后對包含'@'字符的每個“單詞”適用: 使用正則表達式驗證電子郵件地址 即使對我來說,它與上述問題完全相同。

暫無
暫無

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

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