正则表达式
字符集
1、[]:表示括号内的内容任意一个都符合,如
[0124]:0,1,2,4
[0-4]:0,1,2,3,4
[0-9,a-z,A-Z] 自然数0-9,小写字母,大写字母都符合
2、{}:出现的次数
{2}:至少2次
{0,2}:0,1,2次
{3,}:3到无穷次
3、():表示括号内的内容是个整体
12:独立的1和2
(12):十二
预定义符
\d:表示0-9的任意数字[0-9]
\D:表示除了数字之外[^0-9]
\w:表示数字字母下划线[0-9a-zA-Z_]
\W:表示数字字母下划线之外[0-9a-zA-Z_]
\s:表示一个空格 [ ]
\S:表示除了空格之外[^ ]
.:表示任意字符
\.:表示点号 //java中\以\\表示,用以区分java中的\
?:{0,1}
+:{1,}
*:{0,}
\:表示转义字符
[\u4e00-\u9fa5]:表示一个中文
?=.*:不全是
?=.*[0-9] :不全是0-9组成
java对正则表达式的支持
Pattern与Matcher
/*
* 验证电话号码格式是否正确
*
* */
public static void method01() {
String mobile = "15777143990";
String regex = "1[3-9]\\d{9}";
if (mobile.matches(regex)){
System.out.println("成功");
}else {
System.out.println("失败");
}
}
String对正则表达式的支持
matchers
String mobile = "15777143990";
String regex = "1[3-9]\\d{9}";
Boolean flat = mobile.matches(regex);
if (flat){
System.out.println("成功");
}else {
System.out.println("失败");
}
replaceAll
str = "123fd34sf32423sd234fs2342sdf";
//匹配替换 replaceAll replaceFirst
String reg2 = "[a-zA-Z]+";
str = str.replaceAll(reg2,",");
System.out.println("替换后:" + str);
结果输出: