正则表达式
正则表达式的概述和简单使用
A:正则表达式:正确规则的表达式 规则java给我们定的
是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。其实就是一种规则。有自己特殊的应用。
B:案例演示
需求:校验qq号码.
1:要求必须是5-15位数字
2:0不能开头
a:非正则表达式实现
b:正则表达式实现
案例一:
private static boolean checkQQ(String numQQ) {
// 校验位数
boolean b = false;
// 判断长度
if (numQQ.length() >= 5 && numQQ.length() <= 15) {
// 判断开头不能为0
if (!(numQQ.startsWith("0"))) {
// 判断每一位是不是数字
for (int i = 0; i < numQQ.length(); i++) {
char ch = numQQ.charAt(i);
if (ch >= '0' && ch <= '9') {
b = true;
} else {
b = false;
break; //一旦遇到不是数字的,就结束循环
}
}
} else {
b = false;
}
} else {
b = false;
}
return b;
}
import java.util.Scanner;
public class MyTest {
public static void main(String[] args) {
//正则表达式:正确规则的表达式,他是一个独立的语法,很多语言都支持,他的作用就是用来校验,一段数据符不符合我定义的规则
//
//B:
//案例演示
//需求:校验qq号码.
//1:要求必须是5 - 15 位数字
//2:0 不能开头
//
//a:
//非正则表达式实现
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的QQ号码");
String qqNum = sc.nextLine();
// boolean b = checkQQNum(qqNum);
boolean b = checkQQNum2(qqNum);
if (b) {
System.out.println("QQ号码规则正确");
} else {
System.out.println("QQ号码规则有误");
}
}
private static boolean checkQQNum2(String qqNum) {
//定义一个正则表达式
String regx="[1-9][0-9]{4,14}";
boolean matches = qqNum.matches(regx);
return matches;
}
private static boolean checkQQNum(String qqNum) {
//1:要求必须是5 - 15 位数字
//2:0 不能开头
//定义一个标记
boolean flag = false;
//校验位数
if (qqNum.length() >= 5 && qqNum.length() <= 15 && !qqNum.startsWith("0")) {
//下来校验每个位数是否是数字
for (int i = 0; i < qqNum.length(); i++) {
char ch = qqNum.charAt(i);
if (ch >= '0' && ch <= '9') {
flag = true;
} else {
flag = false;
break;//终止循环
}
}
} else {
flag = false;
}
return flag;
}
}