Pattern、Matcher是正则里的两个核心类。正则表达式是jdk1.4之后引入java中的,最早的时候如果需要使用正则表达式,则需要安装Apache的特定的包。
正则如果需要驱动起来,就必须依靠Pattern类和Matcher类,Pattern主要是表示一个规则的意思,即,正则表达式的规则需要在Pattern类中使用。而matcher
主要表示使用pattern指定好的验证规则。
\\ 表示反斜杠(\)字符
\t 表示制表符
\n 表示换行
[abc] 表示字符a、b或c
[^abc] 表示除了a、b、c之外的任意字符
[a-zA-Z0-9] 表示由字母、数字组成
\d 表示数字
\D 表示非数字
\w 表示字母、数字、下划线
\W 表示非字母、数字、下划线
\s 表示所有空白字符(换行、空格等)
\S 表示所有非空白字符
^ 表示行的开头
$ 表示行的结尾
. 表示除换行符之外的任意字符
X 必须出现一次
X? 可以出现0次或者1次
X* 可以出现0次或者1次或者多次
X+ 可以出现一次或者多次
X{n} 必须出现n次
X{n,} 必须出现n次以上
X{n,m} 必须出现n~m次
def test () {
String str = "20160829";
if (Pattern.compile("[0-9]{5,8}").matcher(str).matches()) {
System.out.println("是由数字组成!");
} else {
System.out.println("不是由数字组成!");
}
}
def test1 () {
String str = "2016-08-29";
String pat = "\\d{4}-\\d{2}-\\d{2}";
if (Pattern.compile(pat).matcher(str).matches()) {
System.out.println("时间合格!");
} else {
System.out.println("时间不合格!");
}
}
def test2 () {
//要求将里面的字符取出,也就是说按照数字拆分
String str = "54DF5454F5F4G5F454B6BVGH5TY65";
String pat = "\\d+";
Pattern pp = Pattern.compile(pat);
Matcher m = pp.matcher(str);
String newString = m.replaceAll("_");
System.out.println(newString);
}
正则如果需要驱动起来,就必须依靠Pattern类和Matcher类,Pattern主要是表示一个规则的意思,即,正则表达式的规则需要在Pattern类中使用。而matcher
主要表示使用pattern指定好的验证规则。
\\ 表示反斜杠(\)字符
\t 表示制表符
\n 表示换行
[abc] 表示字符a、b或c
[^abc] 表示除了a、b、c之外的任意字符
[a-zA-Z0-9] 表示由字母、数字组成
\d 表示数字
\D 表示非数字
\w 表示字母、数字、下划线
\W 表示非字母、数字、下划线
\s 表示所有空白字符(换行、空格等)
\S 表示所有非空白字符
^ 表示行的开头
$ 表示行的结尾
. 表示除换行符之外的任意字符
X 必须出现一次
X? 可以出现0次或者1次
X* 可以出现0次或者1次或者多次
X+ 可以出现一次或者多次
X{n} 必须出现n次
X{n,} 必须出现n次以上
X{n,m} 必须出现n~m次
def test () {
String str = "20160829";
if (Pattern.compile("[0-9]{5,8}").matcher(str).matches()) {
System.out.println("是由数字组成!");
} else {
System.out.println("不是由数字组成!");
}
}
def test1 () {
String str = "2016-08-29";
String pat = "\\d{4}-\\d{2}-\\d{2}";
if (Pattern.compile(pat).matcher(str).matches()) {
System.out.println("时间合格!");
} else {
System.out.println("时间不合格!");
}
}
def test2 () {
//要求将里面的字符取出,也就是说按照数字拆分
String str = "54DF5454F5F4G5F454B6BVGH5TY65";
String pat = "\\d+";
Pattern pp = Pattern.compile(pat);
Matcher m = pp.matcher(str);
String newString = m.replaceAll("_");
System.out.println(newString);
}