A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小小 初级黑马   /  2012-6-6 16:27  /  1421 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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也能抓取)

最好有示例代码。谢谢。

评分

参与人数 1技术分 +1 收起 理由
袁錦泰 + 1

查看全部评分

1 个回复

倒序浏览
  1. @Test
  2. public void test03() {
  3.         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?\"";
  4.         Matcher m= Pattern.compile("[1-9][\\d.]{5,}").matcher(s);
  5.         //如果要求是大于等于5位的话(包括小数点)[\\d.]{5,}
  6.         //如果要求是大于等于4位的话(包括小数点)[\\d.]{4,}
  7.         //如果要求小数点前面是大于等于四位的话,[\\d]{4,}\\.?\\d*
  8.         //如果要求小数点前面是小于等于四位的话,[\\d]{0,4}\\.?\\d*
  9.         //如果要求小数点后大于1位的话\\d*\\.\\d+;
  10.         //如果要求第一位不是0的话(包括小数点)[1-9][\\d.]{5,}
  11.         while(m.find())
  12.                 System.out.println(m.group());
  13. }
复制代码
输出结果为:
2868.43
1122.06
399001
11196.35
137.50
873.27


楼主看看行吗?

评分

参与人数 1技术分 +1 收起 理由
袁錦泰 + 1 祝贺你,圆满完成任务!!!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马