黑马程序员技术交流社区
标题: 请教一个正则表达式问题 [打印本页]
作者: 小小 时间: 2012-6-6 16:27
标题: 请教一个正则表达式问题
String s="<A target=_blank>??</A>?<SPAN style="COLOR: #008000">2868.43?-31.90?-1.10%</SPAN>?1122.06??|?<A target=_blank>??</A>?<SPAN style="COLOR: #008000">11196.35?-137.50?-1.21%</SPAN>?873.27?";
1 请问如何写代码能抓取其中的 大于或等于五位数的数字.(例如其中的11196.35,要数字为11196也能抓取)
2 请问如何抓取其中大于等于四位数的数字? (例如其中的2868.43,要数字为2868也能抓取)
最好有示例代码。谢谢。
作者: 张少威 时间: 2012-6-6 16:29
- @Test
- public void test03() {
- String s="<A href=\"http://abc/nc.shtml\" target=_blank>??</A>?<SPAN style=\"COLOR: #008000\">2868.43?-31.90?-1.10%</SPAN>?1122.06??|?<A href=\"http://abc/sz399001/nc.shtml\" target=_blank>??</A>?<SPAN style=\"COLOR: #008000\">11196.35?-137.50?-1.21%</SPAN>?873.27?\"";
- Matcher m= Pattern.compile("[1-9][\\d.]{5,}").matcher(s);
- //如果要求是大于等于5位的话(包括小数点)[\\d.]{5,}
- //如果要求是大于等于4位的话(包括小数点)[\\d.]{4,}
- //如果要求小数点前面是大于等于四位的话,[\\d]{4,}\\.?\\d*
- //如果要求小数点前面是小于等于四位的话,[\\d]{0,4}\\.?\\d*
- //如果要求小数点后大于1位的话\\d*\\.\\d+;
- //如果要求第一位不是0的话(包括小数点)[1-9][\\d.]{5,}
- while(m.find())
- System.out.println(m.group());
- }
复制代码 输出结果为:
2868.43
1122.06
399001
11196.35
137.50
873.27
楼主看看行吗?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |