提问人:Paulo Sena 提问时间:11/7/2023 最后编辑:Peter MortensenPaulo Sena 更新时间:11/8/2023 访问量:102
我从简历中提取电子邮件的正则表达式也是从这些简历中提取电话号码
My regular expression for extracting emails from resumes is also extracting phone numbers from these resumes
问:
我创建了一个正则表达式来从简历中提取电子邮件。但是,它也从这些简历中提取电话号码。我该如何解决这个问题?Obs:
[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?
例子:
number 5579999644373
email [email protected]
正确匹配:[email protected]
匹配不正确:[email protected]
答:
-1赞
jwP54
11/7/2023
#1
你的正则表达式正在疯狂运行。用更深思熟虑的角色类和更多的界限来驯服它。
- 匹配电子邮件前缀:
- 其中许多字符在电子邮件中不被接受。
[a-z0-9!#$%&'+/=?^_{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_{|}~-]+)
确定模式将从哪里开始匹配,然后创建一个简洁的 char 类,并贪婪地匹配尽可能多的实例。
start here
^ here is my custom class
[a-zA-Z0-9+_.-] I am being very greedy
+`
- 匹配 AT 符号
@
- 匹配域
(?:a-z0-9?\.)+a-z0-9?
- 您不需要任何向前/向后看,也不需要说明模式何时应该停止匹配 ($)
这是一个用于匹配电子邮件的可靠正则表达式(来自 tutorialspoint):
^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$
https://www.tutorialspoint.com/checking-for-valid-email-address-using-regular-expressions-in-java
评论
1赞
InSync
11/7/2023
"这是一个用于匹配电子邮件的可靠正则表达式“:该正则表达式太简单了。请参阅如何使用正则表达式验证电子邮件地址? 对于真实的东西。
-1赞
Reilas
11/7/2023
#2
请尝试以下操作。
\b[\w.+-]+@[\w.-]+\b
评论