同ip网站做排名seo,网站建设的重要指标,商业推广费用一般多少,服务类网站建设服务公司正则表达式定义#xff1a;
由一些特定的字符组成#xff0c;代表的是一个规则。
作用#xff1a;1.校验数据是否合法。2.可以在一段文本中查找满足要求的内容。
先自己写一个方法去校验qq号#xff0c;比较与正则表达式的区别#xff1a;
正则表达式的代码暂时可以不…正则表达式定义
由一些特定的字符组成代表的是一个规则。
作用1.校验数据是否合法。2.可以在一段文本中查找满足要求的内容。
先自己写一个方法去校验qq号比较与正则表达式的区别
正则表达式的代码暂时可以不去理解。
package com.itheima.d2_regex;
/*
* 需求校验qq号是否正确要求全部是数字长度6-20之间qq号不能以0开头。
*/
public class RegexTest1 {public static void main(String[] args) {System.out.println(checkQQ(null));//falseSystem.out.println(checkQQ(12345697));//trueSystem.out.println(checkQQ(45158481d22));//falseSystem.out.println(-------------------------------------);System.out.println(checkQQ(null));//falseSystem.out.println(checkQQ(12345697));//trueSystem.out.println(checkQQ(45158481d22));//false}//正则表达式校验 暂时可以不用理解其中的代码 明显正则表达式更简洁public static boolean checkQQ1(String qq){return qq ! null qq.matches([1-9]\\d{5,19});}//自己写方法去判断public static boolean checkQQ(String qq){//判断qq号码是否为null长度符合要求是否为以0开头。if (qq null || qq.startsWith(0) || qq.length() 6 || qq.length() 20){return false;}//判断qq号中全是数字for (int i 0; i qq.length(); i) {char ch qq.charAt(i);//根据索引提取字符(charAt())if (ch 0 || ch 9){return false;}}return true;}
}明显正则表达式更简洁更好用。 正则表达式深度解析
String类提供了一个匹配正则表达式的方法 public boolean matches(String regex) //判断字符串是否匹配正则表达式 讲解加举例全在里面
package com.itheima.d2_regex;public class RegexTest2 {public static void main(String[] args) {//1.字符类只能匹配单个字符 [abc] 3选1 [^abc] 不能是abc其一 [a-zA-Z] 只能是a-z A-Z 之间的字符//[a-z[^bc]] a到z除了bc//举例System.out.println(b.matches([a-zA-Z]));//true//2.预定义字符只能匹配单个字符 . \d \D \s \S \w \W 大写跟小写的区别取反// . 匹配任意字符 \d 0-9 \s 代表一个空白字符 \w 代表[a-zA-Z_0-9],包含大小写下划线0-9之间的数字。//举例//在Java中\是有特殊用途的例如特殊字符\n \t 这是把\n \t当成整体一个字符看System.out.println(1.matches(\\d));//这里我们希望\就是\而不是整体\d就需要转义字符\ 转义单个反斜杠//这里如果你用\d会解析成整体但是没有\d的具体意义所以要用第一个反斜杠\把第二个反斜杠 \ 转义这样\d就不会当成整体了。//输出true//3.数量词 代表0次或者一次 * 代表0次或者多次 代表 1次或者多次 {n} 代表正好n次 {n,} 代表n次 {n,m} 代表n,m次//举例System.out.println(abc232d.matches(\\w{3,9}));//true//4.其他几个常用的符号?i忽略大小写,固定写法 或| 分组()System.out.println(ABC.matches((?i)abc));//trueSystem.out.println(Abc.matches(a((?i)b)c));//false 这个忽略大小写只针对于b而言,注意看范围即可。//需求必须是“我爱”开头中间至少有一个“编程”最后至少一个“666”System.out.println(我爱编程编程666666.matches(我爱(编程)(666)));//true 至少有一次(666),加号代表1次或者多次System.out.println(我爱编程编程6666666.matches(我爱(编程)(666)));//false 这里666要成对出现格式不对所以false}
}