java - 电子邮件提取器 Java 模式排除点之前的字符

标签 java regex email pattern-matching extractor

我目前使用的电子邮件提取器运行良好,但我想更改其模式:

[^a-zA-Z0-9-](?<num>[a-zA-Z0-9_-]{2,20}@[A-Za-z0-9_-]{3,20}\.[\.a-zA-Z0-9_-]+)[^a-zA-Z0-9_-]

此模式的问题在于它排除了点之前的所有字符。

例如,如果它发现类似于“john.smith@gmail.com”的电子邮件,它将报告“smith@gmail.com”

我不知道应该在模式中写什么,因此它不再排除点之前的字符。

如果有人有想法,请告诉我......非常感谢!!

最佳答案

您的正则表达式似乎不正确,请尝试此正则表达式:

\b(?<num>[a-zA-Z0-9][\w.-]{2,20}@[\w-]{3,20}\.[.\w-]+)\b

RegEx Demo

关于java - 电子邮件提取器 Java 模式排除点之前的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29183884/

相关文章:

java - 如何打开新的jFrame对话框并返回主界面?

java - 在数据库中审计错误的日期时间

python - 在python中的两个引号之间添加文本

vb.net - 使用 Gmail 和 C#/VB.Net 发送电子邮件不再有效

java - File.canRead() 返回 false

java - 将内存从 JVM 返回给操作系统

c# - 将 C# 正则表达式代码转换为 Java

java ;字符串替换(使用正则表达式)?

java - 在 Android 中通过电子邮件发送 map 图片

email - 如果您为某个域启用了 DKIM,您可以使用不使用 DKIM 的邮件服务器发送邮件吗?