Pattern p = Pattern.compile("a*b");
M
atcher m = p.matcher("aaaaab")
;
boolean b = m.matches
();
每一步的作用和意思。
Pattern是一个正则表达式经编译后的表现模式。Matcher 一个Matcher对象是一个状态机器,它依据Pattern对象做为匹配模式对字符串展开匹配检查。 都是在java.util.regex包下。
首先一个Pattern实例订制了一个所用语法与PERL的类似的正则表达式经编译后的模式,然后一个Matcher实例在这个给定的Pattern实例的模式控制下进行字符串的匹配工作。
判断字符串是否匹配这个正则表达式,第一个参数是正则表达式,第二个参数是字符串。
Matcher类的使用 Matcher类的构造方法也是private的所以也是通过调用方法来创建的。
Matcher.matches()/ Matcher.lookingAt()/ Matcher.find() Matcher.matches()是必须全部匹配; Matcher.lookingAt()匹配的字符必须要在字符串的最前面 Matcher.find()匹配的字符可以在字符串的任意的地方。
Mathcer.start()/ Matcher.end()/ Matcher.group() 这三个方法必须是在有字符匹配到的条件下才能够调用,否则会报错。 start()返回匹配到的子字符串在字符串中的索引位置. end()返回匹配到的子字符串的最后一个字符在字符串中的索引位置. group()返回匹配到的子字符串。
tart(),end(),group()均有一个重载方法它们是start(int i),end(int i),group(int i)专用于分组操作,Mathcer类还有一个groupCount()用于返回有多少组。
比较好的博客: