我有一个像 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(.)
运算符,或者整封电子邮件只包含一个点运算符。
最佳答案
你可以使用这个正则表达式:
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
。
关于java - 如何使用正则表达式删除电子邮件地址中的点 (.) 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31716416/