系列文章目录
文章目录
一、先爽一下正则表达式
正则表达式可以校验字符串是否满足一定的规则,并用来校验数据格式的合法性。
需求:假如现在要求校验一个g9号码是否正确。
规则:6位及20位之内,0不能在开头,必须全部是数字
先使用目前所学知识完成校验需求
然后体验一下正则表达式检验。
不使用正则的情况下
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
System.out.println(check(str));
}
public static boolean check(String str){
if(str.length()<6 || str.length()>20){
return false;
}
if(str.charAt(0)==0){
return false;
}
for (int i = 0; i < str.length(); i++) {
if(str.charAt(i)<'0'||str.charAt(i)>'9'){
return false;
}
}
return true;
}
}
使用正则的情况下
String qq ="1234567890";
System.out.println(qq.matches("[1-9]\\d{5,19}"));
二、正则表达式的作用
- 作用一:校验字符串是否满足规则
- 作用二:在一段文本中查找满足要求的内容
三、正则表达式具体表达
1、规则
通过查看参考文档找到:
2、字符类示例
public static void main(String[] args) {
//public boolean matches(String regex):判断是否与正则表达式匹配,匹配返回true
// 只能是a b c
System.out.println("-----------1-------------");
System.out.println("a".matches("[abc]")); // true
System.out.println("z".matches("[abc]")); // false
System.out.println("ab".matches("[abc]")); // false
System.out.println("ab".matches("[abc][abc]")); // true
// 不能出现a b c