2017-03-03 48 views
-1

您好我想使用正則表達式來檢查,如果電子郵件是一個gmail.com電子郵件地址的Android的Java正則表達式電子郵件域

我現在有這個

^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@[gmail.com] 

其中一期工程,直到它得到的克,即圖中所示

enter image description here

如果有人可以幫助這將是巨大

+3

從'gmail.com'周圍移除'['和']'並且轉義'.' - '^ [_A-Za-z0-9 + - ] +(\。[_A-Za- Z0-9 - ] +)* @ gmail的\ .com'。如果您不使用'matches()'並且需要在'gmail.com'之後不允許任何內容,則在末尾添加'$'。 –

回答

0
^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@gmail\.com$ 

你的錯誤是圍繞域。使用括號可以定義一組可能出現的字符,但您需要特定的域gmail.com。這就是爲什麼你應該逃避。並在字符串的末尾添加$。否則,這也可能是一個命中gmail-com.tld

+0

謝謝你的幫助和解釋! –

+0

@StewartWilliamFlack如果您的所有問題都得到解答,請將此接受爲答案 – radicarl

0

方括號只會匹配集內的單個字符。你可以使用修改後的正則表達式,其中\ S只能匹配空格。

\[email protected]\.com 
0

格式應該按照以下方式;

^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@gmail.com 
+0

請添加關於它如何工作的解釋,而不僅僅是給出答案 –

相關問題