java - 正则表达式中的电子邮件之间允许有空格

标签 java regex email

我正在使用以下正则表达式验证电子邮件,例如“email1@domain.com”:

^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,7}$

现在我需要验证带有空格的电子邮件以允许多个电子邮件,例如:“email1@domain.com email2@domain.com email3@domain.com email4@domain.com”

有什么改进或帮助可以做到这一点吗? 这是针对 Java 的。 注意:我需要一个正则表达式,因为我使用 JSON SCHEMA 验证来验证 JSON 字段,我无法验证每封电子邮件。

^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,7}$

最佳答案

嗯,一种方法是将 ^ 替换为 (?:^|[ ]) 并将 $ 替换为 (? =$|[ ]) 然后,如果您想“捕获”电子邮件,而不仅仅是验证它们,请将原始模式放入捕获组中(即 (?:^|[ ])(YourOriginalPatter )(?=$|[ ])).

这是使用您的模式的示例:

(?:^|[ ])([a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,7})(?=$|[ ])

<强> Demo

关于java - 正则表达式中的电子邮件之间允许有空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57047435/

相关文章:

PHP Regex 在任意数量的单词和 1-3 位数字之后正确语法 preg_split

javascript - 有没有办法在本地测试我的 meteor 应用程序时发送电子邮件?

java - Spring Mail 中不允许域文字问题

ios - iphone 电子邮件表单按钮不起作用

java - 整数除法 : How do you produce a double?

regex - 使用 R 对字符列表求和

java - 异常 java.lang.NoClassDefFoundError : org/aspectj/lang/annotation/Aspect

regex - Oracle 正则表达式 :\Q\E doesn't work

java - 多行正则表达式

java - 在java中将字节数组写入套接字输出流的最快方法是什么