这一章节我们来感受一下正则表达式。
正则表达式就是以某种形式来描述字符串。
注意:在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
上面的方法前面四个是使用正则表达式,后面的三个只是简单的接受字符串。
总结:这一章节主要是举几个例子让大家对正则表达式有一个感性的认知,以及展示了字符串里面的三个能够接受正则的方法。
这一章节就到这里,谢谢。
-----------------------------------
时间: 2024-12-14 11:57:57