java12 - 正则表达式

正则表达式简介

常用搭配说明:

^a				表示这个位置只能是字母 a
[1,2,3,4] 表示这个位置只能在 1,2,3,4 中取一个
[[a-z][A-Z]] 表示可以任意大小写字母
([a-z]{1,4}) 表示取 a 到 z 中任意 1 到 4 个
([[a-z][A-Z] ]+|[0-9]+) 表示任意字母或者数值的组合(+号,表示前面的能够出现一次或者多次;| 表示或者。)

1、手机号验证

如:手机号只能以 1 开头,第二位只能是3,5,7,8,后9位为0到9的任意组合。正则表达式如下:

		System.out.println("请输入你的手机号码:");
Scanner sc = new Scanner(System.in);
String input1 = sc.next();
String regex1 = "^1[3,5,7,8]([0-9]{9,9})";
Pattern p1 = Pattern.compile(regex1);
Matcher m1 = p1.matcher(input1);
if (m1.matches()) { System.out.println("成功!");
} else {
System.out.println("失败!");
}

2、邮箱验证

如:邮箱名由 6-10 个字母或者数字的组成,@后的域名由纯数字或者字母组成,最后以 .com 结尾。 正则表达式如下:

		System.out.println("请输入你的邮箱:");
String input2 = sc.next();
String regex2 = "[[a-z][A-Z][0-9]]{6,10}@([[a-z][A-Z] ]+|[0-9]+).com"; Pattern p2 = Pattern.compile(regex2);
Matcher m2 = w.matcher(input2);
if (m2.matches()) { System.out.println("成功了!");
} else {
System.out.println("失败了!");
}

3、正则表达式练习题集(附答案)

上一篇:iOS开发UI篇—Quartz2D简单使用(三)


下一篇:Eclipse错误:Implicit super constructor ClassName is undefined for default constructor. Must define an explicit constructor