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

标签 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(.) 运算符,或者整封电子邮件只包含一个点运算符。

最佳答案

你可以使用这个正则表达式:

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/

相关文章:

java - 如何将 Map<Integer, List> 转换为 List

java - 无法连接到远程 cassandra

java - 如何使用 Jenkins 中的插件覆盖属性文件?

javascript - 如何添加 jquery Regex 验证以检查起始字符

java - 这段代码怎么会导致死锁呢?

java - 根据两个条件 twitter API 过滤推文

javascript - 为什么 javascript 中的这个正则表达式仍然允许特殊字符 [a-zA-Z1-9 ]?

javascript - 将最后一个 ", "替换为 "& "

android - Regex Number 支持 ","或 "/"

java - 如何捕获 java 中多个正则表达式匹配前后的文本?