我有一个电子邮件地址,例如n.abc@abc-xyz.de,我想到了一个简单的模式,例如:
String reglarEx="^[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+(\\.[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+)*@([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?\\.)+[A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])$"
我的要求是不允许@符号之前的dot(.)运算符或整个电子邮件仅包含一个dot运算符.
最佳答案
您可以使用此正则表达式:
String reglarEx = "^[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+@([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?\\.)+[A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])$";
或缩短:
String reglarEx = "^[\\w!#$%&'*+/=?^`{|}~-]+@(\\p{Alnum}(\\p{Alnum}*\\p{Alnum})?\\.)+\\p{Alnum}(\\p{Alnum}*\\p{Alnum})$";
尽管整个电子邮件中只包含一个点运算符,但由于电子邮件也可以是name@google.co.uk,因此似乎并不是正确的要求.