"Max Mustermann" <[email protected]>
[email protected]
Max <[email protected]>
我需要一個正則表達式,它與箭頭括號(包括括號)外的匹配相匹配。 之後應該刪除比賽。郵件地址的正則表達式
更換它應該是這樣的後:
"Max Mustermann" <[email protected]> => [email protected]
"Max Mustermann" <[email protected]>
[email protected]
Max <[email protected]>
我需要一個正則表達式,它與箭頭括號(包括括號)外的匹配相匹配。 之後應該刪除比賽。郵件地址的正則表達式
更換它應該是這樣的後:
"Max Mustermann" <[email protected]> => [email protected]
最簡單的解決辦法是尋找
[^<]*<([^>]*)>.*
,並替換成\1
或$1
,這取決於你的正則表達式引擎。
這將刪除所有內容,直到第一個<
以及從下一個>
開始的所有內容,直到字符串結尾。
讓我們只希望引用名稱內不會有括號。
完美,它的作品。 – 2013-02-14 11:44:25
它並不是真的。例如,裸體'email @ domain.com'不匹配。 – mvp 2013-02-14 11:45:20
@mvp:當然不是故意的。它爲什麼要匹配? – 2013-02-14 17:45:05
這應該工作,但要注意,這是很simplified:
(?:[^<]*<)?([^>]+).*
電子郵件的答案將在$1
。
例如,在Perl使用:
$email =~ s/(?:[^<]*<)?([^>]+).*/$1/;
嗨,表達式不起作用結果是以下字符串[email protected]> – 2013-02-14 11:56:12
固定,添加鏈接到fiddle.re與大量的測試輸入。 – mvp 2013-02-14 12:27:41
雖然不是同一個問題,請注意,完全解析所有形式的電子郵件地址很難,http://stackoverflow.com/questions/46155/validate-email-address-in-javascript。 – hlovdal 2013-02-14 11:46:32