java验证普通邮箱的正则表达式
时间: 2023-07-06 09:33:16 浏览: 98
验证email的正则表达式
Java 验证普通邮箱的正则表达式可以使用以下代码:
```
public static boolean isValidEmail(String email) {
String emailRegex = "^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$";
Pattern pattern = Pattern.compile(emailRegex);
return pattern.matcher(email).matches();
}
```
其中,`emailRegex` 是邮箱验证的正则表达式,使用 `Pattern` 类编译后,使用 `matcher` 方法匹配邮箱地址是否符合正则表达式。如果符合,则返回 `true`,否则返回 `false`。
该正则表达式的意义如下:
- `^` 表示匹配字符串的开始。
- `[a-zA-Z0-9_+&*-]+` 表示匹配邮箱地址中的用户名,用户名由字母、数字、下划线、加号、减号、星号组成,且至少出现一次。
- `(?:\\.[a-zA-Z0-9_+&*-]+)*` 表示匹配邮箱地址中的域名,域名由一个或多个由点号分隔的字符串组成,每个字符串由字母、数字、下划线、加号、减号、星号组成。
- `@` 表示匹配邮箱地址中的 @ 符号。
- `[a-zA-Z0-9-]+` 表示匹配邮箱地址中的域名前缀,由字母、数字、减号组成,且至少出现一次。
- `(?:\\.[a-zA-Z0-9-]+)*` 表示匹配邮箱地址中的域名后缀,由一个或多个由点号分隔的字符串组成,每个字符串由字母、数字、减号组成。
- `$` 表示匹配字符串的结尾。
使用该正则表达式可以验证绝大部分常见的邮箱地址,但无法验证一些特殊的邮箱地址,例如带有国际化域名的邮箱地址。
阅读全文