正则的定义
- A:正则表达式
- * 是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串。其实就是一种规则。有自己特殊的应用。
- * 作用:比如注册邮箱,邮箱有用户名和密码,一般会对其限制长度,这个限制长度的事情就是正则表达式做的
案例分析
- B:案例演示
- * 需求:校验qq号码.
- * 1:要求必须是5-15位数字
- * 2:0不能开头
- * 3:必须都是数字
- * a:非正则表达式实现
- * b:正则表达式实现
案例源码
package com.ifenx8.regex;
public class Demo_Regex {
/**
A:正则表达式
* 是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串。其实就是一种规则。有自己特殊的应用。
* 作用:比如注册邮箱,邮箱有用户名和密码,一般会对其限制长度,这个限制长度的事情就是正则表达式做的
* B:案例演示
* 需求:校验qq号码.
* 1:要求必须是5-15位数字
* 2:0不能开头
* 3:必须都是数字
* a:非正则表达式实现
* b:正则表达式实现
*/
public static void main(String[] args) {
System.out.println(qq("123456789"));//在0-15之间符合要求 返回true
System.out.println(qq("023456789"));//第一个为0 不符合要求 返回false
System.out.println(qq("123456789b"));//不是0-9的数字不符合要求 返回false
System.out.println(qq("1234567891111111"));//超出了15个字符不符合 返回false
System.out.println(qq("1234"));//小于5个字符 不符合要求 返回false
System.out.println("=============");
//正则表达式实现
String regex = "[1-9]\\d{4,14}";//设置正则规则 [1-9]第一个字符在1-9直接, \\d{}4,14 0-9的数字长度是5-15之间
System.out.println("1234454545454544".matches(regex));//false
System.out.println("0545454544".matches(regex));//false
System.out.println("4544".matches(regex));//false
System.out.println("45454bb544".matches(regex));//false
System.out.println("45454544".matches(regex));//true
}
//非正则表达式实现
public static boolean qq(String qq){
boolean b = true;//定义一个b,如果符合要求返回true 否则返回false
if(qq.length() >=5&& qq.length()<=15 ){ //判断QQ的长度在不在5-15之间
if(!qq.startsWith("0")){ //判断第一个字符是不是0
char[] arr = qq.toCharArray(); //把QQ中的字符转换成字符数组
for (int i = 0; i < arr.length; i++) {//遍历数组找出每个元素 char c = arr[i]; //记录每个字符 if(!(c >= '0' && c <= '9')){ //判断字符在不在数字0-9之间
b = false;
break;
}
}
}else{
b = false;
}
}else{
b = false;
}
return b;
}
}
评论前必须登录!
注册