如何使用正则表达式删除电子邮件地址中的点(。)字符

时间:2015-07-30 06:18:45

标签: java regex

我有一个像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(.)符号之前不允许@运算符,或者整个电子邮件只包含一个点运算符。

1 个答案:

答案 0 :(得分:3)

您可以使用此正则表达式:

img.setBackgroundResource(R.drawable.icon);

或缩短:

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})$";