正则表达式(英语:Regular Expression,在代码中常简写为regex)
是一个字符串
正则表达式:为了 验证
规则
区分大小写,
字符:x 代表字符 x
字符:\\ 代表 反斜线字符 "\" \\ 第一个是用来 转义 后面\的
字符:\t 制表符
字符:/n 换行
字符:/r 回车符
字符:[abc] 代表 字符 a、b、c
字符类:[^abc]
字符类:/D 只要不是0-9
边界匹配器:^ 是行的开头 ^[abc][0-9]$ 以abc开头 $是结束
数量词:X? x出现一次或一次也没有 0或1
数量词:X* x出现0词或多次
数量词:X+ x出现一次或多次
X{n} [0-9]
matches 字符串是否匹配正则
package com.oracle.demo01; //正则表达式 boolean方法 public class Demo01 { public static void main(String[] args) { /*校验QQ * 1:要求5-15位数字 * 2:0不能开头 */ String QQ="329027486"; //描述规则 String regex="[1-9][0-9]{4,14}";//数量词 X{n,m}x至少出现4次,不超14次 boolean flag=QQ.matches(regex); System.out.println(flag); } }
split 按照规则分割
package com.oracle.demo01; //正则表达式 split public class Demo02 { public static void main(String[] args) { String reg="-"; String str="178-6930-8888"; String[] s=str.split(reg); //遍历 for(int i=0;i<s.length;i++){ System.out.println(s[i]); } } }
ReplaceAll方法
package com.oracle.demo01; //正则表达式 replaceAll 方法 public class Demo03 { public static void main(String[] args) { String str="nihao999hello9aa4"; String reg="[0-9]+";//+号代表 只显示一个* //把里面每一位数字 都替换成 * String s=str.replaceAll(reg,"*"); System.out.println(s); } }
package com.oracle.demo01; //校验 邮箱用正则表达式 public class Demo04 { public static void main(String[] args) { String email="329027486@qq.com"; //()里面代表 如果 .com后面还有 .cn的话 用()+ String reg="[0-9A-Za-z_]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)";//+代表1到多次 boolean flag=email.matches(reg); System.out.println(flag); //上面的 [0-9A-Za-z_] 可以用 [\\w] 效果一样 String reg1="[\\w]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)"; boolean flag1=email.matches(reg1); System.out.println(flag); } }
原文:https://www.cnblogs.com/zs0322/p/10921532.html