电子邮件提取器Java模式,不包括点前的字符

时间:2015-03-21 14:35:27

标签: 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_-]

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

例如,如果找到&#34; john.smith@gmail.com" 等电子邮件,则会报告&#34; smith@gmail.com&# 34;

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

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

1 个答案:

答案 0 :(得分:1)

你的正则表达式看起来不对,试试这个正则表达式:

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

RegEx Demo