本帖最后由 何俊森 于 2013-4-25 23:29 编辑
查api
Back 引用
\n 任何匹配的 nth 捕获组,意思是相应第n组的引用,(12)\1(ab)\2就表示1212abab;
(.)表示匹配任意单个字符。- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- public class RegexTest {
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- String regex = "(.)\\1(.)\\2";
- String str = "**aa";
- Pattern p = Pattern.compile(regex);
- Matcher m = p.matcher(str);
- if(m.find()){
- int gc = m.groupCount();
- for(int i=0; i<=gc; i++){
- System.out.println(m.group(i));
- }
- }
- }
- }
- group(0)是匹配整个表达式的字符串的那部分**aa
- group(1)是第1组(.)匹配的那个字符: *, \1就表示*
- group(2)是第2组(.)匹配的那个字符:a, \2就表示a
复制代码 |