这一章节我们来感受一下正则表达式。
正则表达式就是以某种形式来描述字符串。
注意:在java里面正则表达式的反斜杠需要"\\"来描述,如果是普通的反斜杠,需要“\\\\”来描述。
在字符串中,可以使用正则的方法有几个,分别是matches、split还有replaceAll
1.matches方法
下面只是举一些例子,让大家感觉一下正在表达式。
package com.ray.ch11;
public class Test {
public static void main(String[] args) {
System.out.println("-21".matches("-?\\d+"));
System.out.println("-21".matches("-?\\d"));
System.out.println("+21".matches("\\+?\\d+"));
System.out.println("+21".matches("(-|\\+)?\\d+"));
}
}
输出:
true
false
true
true
解释:
-?表示一个带负号的数字
\d表示一个个位数的整数
\d+表示多位数字的整数
|表示或者
\\+表示加号,在正则表达式中,加号需要在前面加上反斜杠
2.split方法
split可以接受字符串,也可以接受正则表达式。
package com.ray.ch11;
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
System.out.println(Arrays.toString("-21a333adg".split("-?\\d")));
System.out.println(Arrays.toString("-21a333adg".split("\\d")));
System.out.println(Arrays.toString("-21a333adg".split("\\d\\d")));
System.out.println(Arrays.toString("-21a333adg".split("-\\d\\d")));
System.out.println(Arrays.toString("-21a333adg".split("a")));
System.out.println(Arrays.toString("-21a333adg".split("d")));
System.out.println(Arrays.toString("-21a333adg".split("g")));
}
}
输出:
[, , a, , , adg]
[-, , a, , , adg]
[-, a, 3adg]
[, a333adg]
[-21, 333, dg]
[-21a333a, g]
[-21a333ad]
3.replaceAll方法
replaceAll可以接受字符串,也可以接受正则表达式。
package com.ray.ch11;
public class Test {
public static void main(String[] args) {
System.out.println("-21a333adg".replaceAll("-?\\d", "0"));
System.out.println("-21a333adg".replaceAll("\\d", "0"));
System.out.println("-21a333adg".replaceAll("\\d\\d", "0"));
System.out.println("-21a333adg".replaceAll("-\\d\\d", "0"));
System.out.println("-21a333adg".replaceAll("a", "0"));
System.out.println("-21a333adg".replaceAll("d", "0"));
System.out.println("-21a333adg".replaceAll("g", "0"));
}
}
输出:
00a000adg
-00a000adg
-0a03adg
0a333adg
-2103330dg
-21a333a0g
-21a333ad0
上面的方法前面四个是使用正则表达式,后面的三个只是简单的接受字符串。
总结:这一章节主要是举几个例子让大家对正则表达式有一个感性的认知,以及展示了字符串里面的三个能够接受正则的方法。
这一章节就到这里,谢谢。
-----------------------------------