亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java正則表達式電子郵件

Java正則表達式電子郵件

慕容708150 2019-07-30 11:42:00
Java正則表達式電子郵件首先,我知道不建議使用正則表達式用于電子郵件,但我必須對此進行測試。我有這個正則表達式:\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b在Java中,我這樣做了:Pattern p = Pattern.compile("\\b[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b");Matcher m = p.matcher("[email protected]");if (m.find())     System.out.println("Correct!");但是,無論電子郵件是否成立,正則表達式都會失敗。Eclipse中的“查找和替換”與相同的正則表達式一起工作正常。任何的想法?謝謝,
查看完整描述

3 回答

?
catspeake

TA貢獻1111條經驗 獲得超0個贊

這是適用于Java的RFC822兼容的正則表達式:

Pattern?ptr?=?Pattern.compile("(?:(?:\\r\\n)?[?\\t])*(?:(?:(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\"(?:[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[?\\t]))*\"(?:(?:\\r\\n)?[?\\t])*)(?:\\.(?:(?:\\r\\n)?[?\\t])*(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\"(?:[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[?\\t]))*\"(?:(?:\\r\\n)?[?\\t])*))*@(?:(?:\\r\\n)?[?\\t])*(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[?\\t])*)(?:\\.(?:(?:\\r\\n)?[?\\t])*(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[?\\t])*))*|(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\"(?:[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[?\\t]))*\"(?:(?:\\r\\n)?[?\\t])*)*\\<(?:(?:\\r\\n)?[?\\t])*(?:@(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[?\\t])*)(?:\\.(?:(?:\\r\\n)?[?\\t])*(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[?\\t])*))*(?:,@(?:(?:\\r\\n)?[?\\t])*(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[?\\t])*)(?:\\.(?:(?:\\r\\n)?[?\\t])*(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[?\\t])*))*)*:(?:(?:\\r\\n)?[?\\t])*)?(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\"(?:[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[?\\t]))*\"(?:(?:\\r\\n)?[?\\t])*)(?:\\.(?:(?:\\r\\n)?[?\\t])*(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\"(?:[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[?\\t]))*\"(?:(?:\\r\\n)?[?\\t])*))*@(?:(?:\\r\\n)?[?\\t])*(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[?\\t])*)(?:\\.(?:(?:\\r\\n)?[?\\t])*(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[?\\t])*))*\\>(?:(?:\\r\\n)?[?\\t])*)|(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\"(?:[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[?\\t]))*\"(?:(?:\\r\\n)?[?\\t])*)*:(?:(?:\\r\\n)?[?\\t])*(?:(?:(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\"(?:[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[?\\t]))*\"(?:(?:\\r\\n)?[?\\t])*)(?:\\.(?:(?:\\r\\n)?[?\\t])*(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\"(?:[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[?\\t]))*\"(?:(?:\\r\\n)?[?\\t])*))*@(?:(?:\\r\\n)?[?\\t])*(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[?\\t])*)(?:\\.(?:(?:\\r\\n)?[?\\t])*(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[?\\t])*))*|(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\"(?:[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[?\\t]))*\"(?:(?:\\r\\n)?[?\\t])*)*\\<(?:(?:\\r\\n)?[?\\t])*(?:@(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[?\\t])*)(?:\\.(?:(?:\\r\\n)?[?\\t])*(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[?\\t])*))*(?:,@(?:(?:\\r\\n)?[?\\t])*(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[?\\t])*)(?:\\.(?:(?:\\r\\n)?[?\\t])*(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[?\\t])*))*)*:(?:(?:\\r\\n)?[?\\t])*)?(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\"(?:[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[?\\t]))*\"(?:(?:\\r\\n)?[?\\t])*)(?:\\.(?:(?:\\r\\n)?[?\\t])*(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\"(?:[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[?\\t]))*\"(?:(?:\\r\\n)?[?\\t])*))*@(?:(?:\\r\\n)?[?\\t])*(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[?\\t])*)(?:\\.(?:(?:\\r\\n)?[?\\t])*(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[?\\t])*))*\\>(?:(?:\\r\\n)?[?\\t])*)(?:,\\s*(?:(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\"(?:[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[?\\t]))*\"(?:(?:\\r\\n)?[?\\t])*)(?:\\.(?:(?:\\r\\n)?[?\\t])*(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\"(?:[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[?\\t]))*\"(?:(?:\\r\\n)?[?\\t])*))*@(?:(?:\\r\\n)?[?\\t])*(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[?\\t])*)(?:\\.(?:(?:\\r\\n)?[?\\t])*(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[?\\t])*))*|(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\"(?:[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[?\\t]))*\"(?:(?:\\r\\n)?[?\\t])*)*\\<(?:(?:\\r\\n)?[?\\t])*(?:@(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[?\\t])*)(?:\\.(?:(?:\\r\\n)?[?\\t])*(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[?\\t])*))*(?:,@(?:(?:\\r\\n)?[?\\t])*(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[?\\t])*)(?:\\.(?:(?:\\r\\n)?[?\\t])*(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[?\\t])*))*)*:(?:(?:\\r\\n)?[?\\t])*)?(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\"(?:[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[?\\t]))*\"(?:(?:\\r\\n)?[?\\t])*)(?:\\.(?:(?:\\r\\n)?[?\\t])*(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\"(?:[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[?\\t]))*\"(?:(?:\\r\\n)?[?\\t])*))*@(?:(?:\\r\\n)?[?\\t])*(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[?\\t])*)(?:\\.(?:(?:\\r\\n)?[?\\t])*(?:[^()<>@,;:\\\\\".\\[\\]?\\000-\\031]+(?:(?:(?:\\r\\n)?[?\\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[?\\t])*))*\\>(?:(?:\\r\\n)?[?\\t])*))*)?;\\s*)");String[]?emails?=?{?"\"Fred?Bloggs\"@example.com",?"[email protected]",?"Chuck?Norris?<[email protected]>",?"webmaster@müller.de",?"[email protected]"?};for?(String?email?:?emails)?{
????System.out.println(email?+?"?is?"?+?(ptr.matcher(email).matches()???"valid"?:?"invalid"));}

輸出:

"Fred?Bloggs"@example.com?is?valid
[email protected]?is?invalidChuck?Norris?<[email protected]>?is?valid
webmaster@müller.de?is?valid
[email protected]?is?valid



查看完整回答
反對 回復 2019-07-30
  • 3 回答
  • 0 關注
  • 931 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號