分类: Java
2008-04-20 17:16:17
· Patter类,Matcher常用方法 · 分组 · start(),和end()方法(Matcher) · start(),和end()方法(Matcher) · split方法 · 替换操作 · reset |
Patter类常用的两个方法: static,matches(String regex,CharSequence input) non-static,matcher(String input) 第一个方法用于发现regex是否和input全部匹配,与Matcher提供的matches方法类似。 调用第二个方法产生Matcher对象,Matcher提供了一下的方法: boolean matches()判断模式是否和整个串匹配 boolean lookingAt()如果input从一开始就是模式的一个匹配,返回true。这个方法并不要求input和regex是完全匹配的。 boolean find()发现charSequence中的多重匹配模式 boolean find(int start) 两个版本find方法的比较:
|
分组 a(b(c))d有三个组,0组abcd,第一组bc,第二组c Matcher提供了一些方法返回分组信息 public int groupCount()分组数目,但不包括第0组 public String group()返回第0组的匹配,即整个匹配 public String group(int i)返回第i组的匹配 |
start(),和end()方法(Matcher) 在匹配操作成功之后调用start和end方法将分别返回匹配的开始和结束位置的下标。在匹配失败之后如果调用这两个方法抛出IllegalStateException 异常。 另外matcher还提供了这两个方法的重载版本start/end(int group) 用于发现在指定分组中的匹配起始和结束位置。 |
split方法 Pattern.split(String input) Pattern.split(String input,int limit)限制split的数目 String.split(String ) |
替换操作 replaceFirst(String regex,String replacement) replaceAll(String regex,String replacement) appendReplacement(StringBuffer sbuf,String replacement) appendTail(StringBuffer sbuf,String replacement)
|
reset将现有的Matcher对象用于一个新的字符对象 Matcher m=Pattern.compile("[frb][aiu][gx]"). matcher("fix the rug with bags"); //Some operations m.reset("fix the rig with rags"); |