(1)就是按照某些规则组成的式子。这些规则必须要看懂。
(2)String类中的三个方法
A:boolean matches(String regex)
用于判断字符串是否符合规则
B:String[] split(String regex)
用规则进行切割字符串生成一个字符串数组
C:String replaceAll(String regex, String replacement)
按照规则,把字符串中的某些符合规则的数据替换为新的字符串
(3)判断是否满足规则,并获取数据。
//根据规则得到一个模式对象
Pattern p = Pattern.compile(regex);
//根据模式对象得到一个匹配器对象
Matcher m = p.matcher();
//调用匹配器里面的方法 是否有匹配的
//boolean b = m.matches();
//查找是否有匹配的
while(m.find())
{
//打印匹配的数据
System.out.println(m.group());
}
2:常用的规则
字符:
[abc]:a,b,c任意一个字符
[^abc]:除了a,b,c的任意一个字符
[a-zA-Z]:所有的字母字符
[a-d[m-p]]:并集
[a-z&&[def]]:交集
预定义字符
. 任何字符
\d 数字:[0-9]
\D 非数字: [^0-9]
\w 单词字符:[a-zA-Z_0-9]
\W 非单词字符:[^\w]
边界
^ 行的开头
$ 行的结尾
\b 单词边界
Greedy 数量词
X? X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n 次
X{n,} X,至少 n 次
X{n,m} X,至少 n 次,但是不超过 m 次
提高对规则的重用,组的概念,用()区分组。
((A)(B(C)))
就是以(计算组的个数
(A)(B(C))
A
B(C)
C
只要你把这些了解理解了就可以了,老师们也谈过,到你真正上班的是侯人家早就封装好了,等着你用就行了,我们最重要的是掌握方法和学会技巧运用在实际的问题和项目上。 |