Java 使用正则表达式判断合法的 E-mail 地址

Java基础 使用正则表达式判断合法的 E-mail 地址

正则表达式通常被用于判断语句中,用于检查某一字符串是否满足某一格式。

使用正则表达式来判断输入的变量是否为合法的E-mail地址。

import java.util.Scanner;

public class Demo {
	public static void main(String[] args) {
		String address;
		Scanner input=new Scanner(System.in);
		System.out.println("请输入邮箱地址:");		//提示用户输入邮箱地址
		address=input.nextLine();
		String regex="\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}";	//定义要匹配使用的E-mail使用的正则表达式
		if(address.matches(regex)) {	//判断字符串变量是否与正则表达式匹配
			System.out.println(address+"是合法的邮箱!");
		}else {
			System.out.println(address+"不是合法的邮箱!");
		}
	}		
}

结果如图

正则表达式分析:

通常情况下E-mail的格式为“[email protected]”。总结E-mail地址的特点,可以书写正则表达式“\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}”来匹配Email地址。字符集“\\w”匹配任意字符,符号“+”表示字符可以出现1次或多次,表达式“(\\.\\w{2,3})*”表示形如“.com”格式的字符串可以出现0次或多次。而最后的表达式“\\.\\w{2,3}”用于匹配E-mail地址中的结尾字符,如“com”。


在正则表达式中可以使用方括号括起若干个字符来表示一个元字符,该元字符可以代表方括号中的任何一个字符。

[^456]:代表4、5、6之外的任何字符。

[a-r]:代表a~r中的任何一个字母。

[a-zA-Z]:可表示任意一个英文字母。

[a-e[g-z]]:代表a~e,或g~z中的任何一个字母(并运算)。

[a-o&&[def]]:代表字母d、e、f(交运算)。

[a-d&&[^bc]]:代表字母a、d(差运算)。


在正则表达式中允许使用限定修饰符来限定元字符出现的次数。

限定修饰符
限定修饰符 意义 示例
0次或1次 A?
* 0次或多次 A*
+ 1次或多次 A+
{n} 正好出现n次 A{2}
{n,} 至少出现n次 A{3,}
{n,m} 出现n~m次 A{2,6}
发布了35 篇原创文章 · 获赞 5 · 访问量 871

猜你喜欢

转载自blog.csdn.net/m0_43443133/article/details/104504029