写一个正则匹配邮箱格式
时间: 2023-07-04 08:04:17 浏览: 56
可以使用以下正则表达式来匹配常见的邮箱格式:
```
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
```
这个正则表达式的含义是:
- `^` 表示匹配字符串的开头。
- `[a-zA-Z0-9._%+-]+` 表示匹配至少一个字母、数字、下划线、点、百分号、加号和减号。
- `@` 表示匹配一个at符号。
- `[a-zA-Z0-9.-]+` 表示匹配至少一个字母、数字、点和减号。
- `\.` 表示匹配一个点符号(需要使用反斜杠转义)。
- `[a-zA-Z]{2,}` 表示匹配至少两个字母。
- `$` 表示匹配字符串的结尾。
这个正则表达式可以匹配类似于 `example@gmail.com`、`test.user-123@example.co.uk` 这样的邮箱地址。
相关问题
js 正则 匹配邮箱
JS正则表达式可以用来匹配邮箱。一般来说,一个邮箱地址由用户名、@符号和域名三部分组成。其中,用户名可以包含字母、数字、下划线和点号,但是不能以点号开头或结尾,也不能连续出现两个点号。域名可以包含字母、数字、下划线和点号,但是点号不能开头或结尾,也不能连续出现两个点号。下面是一个匹配邮箱的正则表达式:
```
/^\w+([\.\-]\w+)*\@\w+([\.\-]\w+)*\.\w+$/
```
其中,^表示匹配字符串的开头,\w表示匹配字母、数字或下划线,+表示匹配前面的字符一次或多次,*表示匹配前面的字符零次或多次,[\.\-]表示匹配点号或减号,\$表示匹配字符串的结尾。这个正则表达式可以匹配大部分常见的邮箱地址,包括带有点号和减号的邮箱地址。
Java 使用正则表达式匹配邮箱格式
可以使用正则表达式来匹配邮箱格式,以下是一个 Java 示例代码:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class EmailValidation {
public static boolean isValidEmail(String email) {
String regex = "^[a-zA-Z0-9_+&*-]+(?:\\."+"[a-zA-Z0-9_+&*-]+)*@" +"(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,7}$";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(email);
return matcher.matches();
}
public static void main(String[] args) {
String email = "example@example.com";
if (isValidEmail(email)) {
System.out.println("Valid email.");
} else {
System.out.println("Invalid email.");
}
}
}
```
这个示例代码中的正则表达式可以匹配大部分常见的邮箱格式,包括用户名、@符号、域名以及域名后缀。如果邮箱格式不符合正则表达式的要求,`isValidEmail()` 方法将返回 `false`。