mather

java.util.regex 
类 Matcher
public final class Matcher
extends Object
implements MatchResult
通过解释 Pattern 对 character sequence 执行匹配操作的引擎。
通过调用模式的 matcher 方法从模式创建匹配器。
创建匹配器后,可以使用它执行三种不同的匹配操作: 
1.matches 方法尝试将整个输入序列与该模式匹配。 
2.lookingAt 尝试将输入序列从头开始与该模式匹配。 
3.find 方法扫描输入序列以查找与该模式匹配的下一个子序列。 
每个方法都返回一个表示成功或失败的布尔值。
通过查询匹配器的状态可以获取关于成功匹配的更多信息。 
boolean matches() 
//整串匹配:当整个字符串匹配模式时才返回 true。 
boolean lookingAt() 
//前缀匹配:当字符串前缀匹配模式时才返回 true。
boolean find() 
//子串匹配:当子串匹配模式时才返回 true。查找匹配的下一个子串。
boolean find(int start) 
//重置此匹配器,然后从指定索引开始,查找匹配的下一个子串。 
--------------------------------------------------------------------------------
int start() 
//返回以前匹配的初始索引。 
int end() 
//返回最后匹配字符之后的偏移量。 (开区间:结束索引,不包含)
String group() 
//返回匹配的字符串(字符序列,捕获组)。 
String replaceAll(String replacement) 
//替换匹配的每个子串。 
String replaceFirst(String replacement) 
//替换匹配的第一个子串。 
Matcher reset() 
//重置匹配器。 
Matcher reset(CharSequence input) 
//重置此具有新输入序列的匹配器。 

 

示例程序

//在这个示例程序里,name要匹配list里的内容

public List<SearchBean> search(String name, List<SearchBean> list) {
  List<SearchBean> results = new ArrayList<SearchBean>();
  Pattern pattern = Pattern.compile(name, Pattern.CASE_INSENSITIVE);
  for (int i = 0; i < list.size(); i++) {
    Matcher matcher = pattern.matcher(((SearchBean) list.get(i)).getName());

    //matcher定义了字符串的匹配方法
    if (matcher.lookingAt()) {
    results.add(list.get(i));
  }
}
return results;
}

posted @ 2012-07-12 08:47  cloud_fish  阅读(433)  评论(0编辑  收藏  举报