Java正则多次匹配和多次组匹配
关于正则表达式 , 可以学习下这篇介绍 : 正则表达式
对于多次匹配, 正则表达式就需要讲究些技巧了.
替换
单文的多次匹配
有以下几种方式 , 把a全匹配替换
替换 a
"aab".replaceAll("a{1}", "x"); //xxb
"aba".replaceAll("a{1}", "x"); //xbx
替换 aa
"abaaabaaaba".replaceAll("a{2}", "x"); //abxabxaba
"abaabaaaaba".replaceAll("a{2}", "x"); //abxbxxba
replaceAll()方法会将所有匹配到的全部替换掉.
提取
提取就需要用到group了.
提取 a
Matcher matcher = Pattern.compile("(a)").matcher("ab");
if(matcher.find()){
System.out.println(matcher.group());
}
--------
// 结果
a
提取多个 a
group只有提取一次匹配到的 , 要多次提取 , 需要循环匹配.
Matcher matcher = Pattern.compile("(a)").matcher("aba");
int matcher_start