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、正则表达式练习题集(附答案)
作者:markbin
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.