2015-03-25 41 views
0

我有一種情況,我需要在java代碼中使用以下正則表達式來驗證非英語語言的電子郵件:
任何人都可以使用代碼片段reg來幫助我。如何使用正則表達式如下java中
如何在java代碼中使用下面的正則表達式

a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\]) <br> 

當我試圖在Java代碼中使用此,我要面對的轉義字符序列相關問題。下面的代碼

+0

但我並沒有得到預期的代碼片段使用正則表達式你試過加倍所有反斜槓,看看什麼是一個異常你 – 2015-03-25 04:58:03

+0

? – Baby 2015-03-25 08:10:34

回答

0

用它來驗證您的電子郵件

public static boolean isValidEmail(String email) { 
     String EMAIL_PATTERN = "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$"; 
     Pattern pattern = Pattern.compile(EMAIL_PATTERN); 
     Matcher matcher = pattern.matcher(email); 
     return matcher.matches(); 
    } 
+0

但是,您給出的正則表達式只會驗證標準電子郵件,它不支持或忽略具有unicodes的電子郵件。 – 2015-03-25 04:45:38

相關問題