正则表达式里matcher有这几个方法,不知道怎么用groupCount()...返回匹配到的次数???grounp()...返回匹配到的字符串???求前辈教教这几个方法,谢谢=w=
解决方案 »
- 如何看API的构造方法
- socket长连接编程应该注意哪些?
- 我的课程设计题目是:证书管理系统 怎么做??
- 怎么这代码不能显示按钮?是不是一定要jpanel?
- -sourcepath问题
- java
- 请问哪里有JAVA反编译器下载呀? 比DJ等!多谢
- 兄弟想辞职跳槽,哪位能帮忙推荐一下?(看在咱经常回答问题的份上,还望版主勿删)
- 请问:java运行问题?——exception in thread "main" java.lang.noclassdeffonderror:helloword,请问是哪里配置错了?谢谢!
- 我的JB4有许多控件不能用,有谁知道所有功能的注册码?
- 这两种写法有什么不同(两种方法中Money r=new Money()放的位置不一样其他都一样)。哪种方法好
- 代码求解!
比如你用a(\\d)a(\\d)去匹配a1a3a3a4a5a3a4
这个就是分了2个组,groupCount返回2
你第一次调用Matcher.find后
会匹配a1a3a
用group(1)可以去取到第一个挂号里的值1,
用group(2)可以去取到第二个挂号里的值3
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(",");
}
}
}