我已經用Java編寫的正則表達式爲:我的regEx是否正確?
- 表達應該以
letter
開始。 - 其次
letter
或number
或period
或@
- 結束與
abc.com
或xyz.com
正則表達式我想:
^[A-Za-z][[email protected]\.]*?[abcxyz]\.com$
我認爲這是在第3個條件的一些問題。有人可以糾正我或爲我提供更好的regEx。提前致謝。
我已經用Java編寫的正則表達式爲:我的regEx是否正確?
letter
開始。letter
或number
或period
或@
abc.com
或xyz.com
正則表達式我想:
^[A-Za-z][[email protected]\.]*?[abcxyz]\.com$
我認爲這是在第3個條件的一些問題。有人可以糾正我或爲我提供更好的regEx。提前致謝。
你不需要逃脫字符類中的點,也把abc
和xyz
捕獲或無捕獲組內部進行|
(邏輯或運營商)作爲分離器。
^[A-Za-z][[email protected]]*?(?:abc|xyz)\.com$
Java的正則表達式將是
^[A-Za-z][[email protected]]*?(?:abc|xyz)\\.com$
[abcxyz]
在您的正則表達式匹配從給定的列表中的一個字符。也就是說,它會匹配a
或b
或c
或x
或y
或z
^[A-Za-z][[email protected]]*?(?:\babc\b|\bxyz\b)\\.com$
試試這個。 [abcxyz]
將只匹配1個字符像a
,b
等
^[A-Za-z][[email protected]]*?(abc|xyz)\\.com$
謝謝你添加\,沒有看到java標記,所以我用簡單的正則表達式符號:)非常感謝:) – Beri 2014-10-20 06:52:53
可能是我錯了,但我猜你想匹配的電子郵件地址,所以最好把外面的@
字符類,以確保只有一個:
^[A-Za-z][A-Za-z0-9.]*@[A-Za-z0-9.]*(abc|xyz)\\.com$
但是相匹配的電子郵件地址是一個正則表達式複雜得多,見this
'[A-Za-z0-9 @ \] *?'這部分看起來很腥。你想匹配一個電子郵件地址嗎? – nhahtdh 2014-10-20 07:12:24
你想驗證電子郵件地址嗎?別。看看這裏的正則表達式捕獲大多數有效的地址:http://stackoverflow.com/a/719543/1436981 – stuXnet 2014-10-20 07:38:18