正则表达式:
专门用于操作字符串。作用于字符串的一个正确的规则的表达式。
跟之前的代码有什么区别呢?
好处:用了一些符号来代表这些代码。书写起来更为简单。
弊端:因为都是一些符号组成的表达式,所以阅读起来可读性不高。而且先要把符号学完。
1,了解一下正则符号。
1.1 中括号:[判断字符位上内容]
1.2 预定义字符:都带着反斜线
. : 任意字符。
\d : 数字。[0-9]
\D : 非数字。[^0-9]
\w : 单词字符[a-zA-Z_0-9]
1.3 边界字符:
^ : 行开头。
$ : 行结尾。
\b : 单词边界。
1.4 数量词:必须结合内容。
X?: X内容出现零次或一次。
X*: X内容出现零次或多次。
X+: X内容出现一次或多次。
X{n}:X内容出现n次。
X{n,}:X内容出现至少n次。
X{n,m}:X内容出现n到m次。
常见操作字符串的功能。字符串String类。
1,匹配:
用的就是String类中的matches方法。
2,切割:
用的是String类中的split(regex);
3,替换:
用的是replaceAll(regex,string);
这些String类的方法在方法文档说明中都提到了Pattern,这些方法的内部使用的都是Pattern完成。
Pattern是什么呢?Pattern就是正则表达式的编译表现形式,每一个正则表达式在编译后都是一个Pattern对象。
//1,将正则表达式的字符串格式先通过Pattern中的compile方法编译成Pattern正则表达式对象。
//原来Pattern的作用是将正则字符串封装成正则对象。
Pattern p = Pattern.compile("a*b");
//2,要想用这个规则对字符串进行操作,还需要通过正则对象matcher方法和指定的字符串关联,并获取匹配器对象Matcher。
//真正将规则作用到字符串上的对象是匹配器Matcher.
Matcher m = p.matcher("aaaaab");
//3,用匹配器对象Matcher的功能(方法)对字符串进行操作了。
//matches()匹配整个 lookingAt():每次从头开始 find():可以匹配下一个
专门用于操作字符串。作用于字符串的一个正确的规则的表达式。
跟之前的代码有什么区别呢?
好处:用了一些符号来代表这些代码。书写起来更为简单。
弊端:因为都是一些符号组成的表达式,所以阅读起来可读性不高。而且先要把符号学完。
1,了解一下正则符号。
1.1 中括号:[判断字符位上内容]
1.2 预定义字符:都带着反斜线
. : 任意字符。
\d : 数字。[0-9]
\D : 非数字。[^0-9]
\w : 单词字符[a-zA-Z_0-9]
1.3 边界字符:
^ : 行开头。
$ : 行结尾。
\b : 单词边界。
1.4 数量词:必须结合内容。
X?: X内容出现零次或一次。
X*: X内容出现零次或多次。
X+: X内容出现一次或多次。
X{n}:X内容出现n次。
X{n,}:X内容出现至少n次。
X{n,m}:X内容出现n到m次。
常见操作字符串的功能。字符串String类。
1,匹配:
用的就是String类中的matches方法。
2,切割:
用的是String类中的split(regex);
3,替换:
用的是replaceAll(regex,string);
这些String类的方法在方法文档说明中都提到了Pattern,这些方法的内部使用的都是Pattern完成。
Pattern是什么呢?Pattern就是正则表达式的编译表现形式,每一个正则表达式在编译后都是一个Pattern对象。
//1,将正则表达式的字符串格式先通过Pattern中的compile方法编译成Pattern正则表达式对象。
//原来Pattern的作用是将正则字符串封装成正则对象。
Pattern p = Pattern.compile("a*b");
//2,要想用这个规则对字符串进行操作,还需要通过正则对象matcher方法和指定的字符串关联,并获取匹配器对象Matcher。
//真正将规则作用到字符串上的对象是匹配器Matcher.
Matcher m = p.matcher("aaaaab");
//3,用匹配器对象Matcher的功能(方法)对字符串进行操作了。
//matches()匹配整个 lookingAt():每次从头开始 find():可以匹配下一个