正则表达式里matcher有这几个方法,不知道怎么用
groupCount()...返回匹配到的次数???
grounp()...返回匹配到的字符串???
求前辈教教这几个方法,谢谢=w=
------解决方案--------------------------------------------------------
"会匹配a1a3a"写错了,"会匹配a1a3"
------解决方案--------------------------------------------------------
楼主搜索一下 正则表达式 分组,了解下它是什么概念
------解决方案--------------------------------------------------------
对于正则表达式,组是用括号划分的正则表达式,可以根据组的编号来引用某个组。组号为0表示整个表达式,组号1表示被第一对括号括起的组,依此类推,举个例子,A(B(C))D中有三个组,组0是ABCD,组1是BC,组2是C。还是看以下例子吧,你编译运行下,对比结果研究下代码,就知道各个方法的意思了。
- Java code
import java.util.regex.Pattern;import java.util.regex.Matcher;public class Demo005 { public static void main(String[] args) { Matcher m = Pattern.compile("(\\d+)\\W+(\\d+)").matcher("朝阳区123街456栋789层987室"); while (m.find()) { System.out.print(m.group() + " "); } System.out.println(); m.reset(); while (m.find()) { for (int i = 0; i <= m.groupCount(); i++) { System.out.print("["+m.group(i) + "]"); } System.out.println(","); } }}