Posted on 2012-03-23 10:08
luofeng 阅读(294)
评论(0) 编辑 收藏 引用 所属分类:
Android基础
正则表达式的分组和引用
组和捕获
捕获组可以通过从左到右计算其开括号来编号。例如,在表达式 ((A)(B(C))) 中,存在四个这样的组:
1 | ((A)(B(C))) |
2 | \A |
3 | (B(C)) |
4 | (C) |
组零始终代表整个表达式。
之所以这样命名捕获组是因为在匹配中,保存了与这些组匹配的输入序列的每个子序列。捕获的子序列稍后可以通过 Back 引用在表达式中使用,也可以在匹配操作完成后从匹配器获取。
引用
。。。。。。。。
非捕获 组
以 (?) 开头的组是纯的非捕获 组,它不捕获文本,也不针对组合计进行计数。
String now = "25/10/2009";
Matcher matcher = Pattern.compile("(\\d\\d)/(\\d\\d)/(\\d\\d\\d\\d)").matcher(now);
if (matcher.find()) {
System.out.println(matcher.group(3) + "-" + matcher.group(2) + "-" + matcher.group(1));
}