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;
}