金额:XX元  xx 元    前面后面可能有文字什么的,中间是一串数字。
正则我没怎么看过,所以来问问..

解决方案 »

  1.   

    正则的\\D*([,\\d]*)元,  感觉这样是可以的commons lang的 stringUtil 中有个 substringBetween,你可以去试试看
      

  2.   

    我也知道用正则啊 ,可惜正则不太熟悉。
    2楼的方法只能得出2个字符串间的字符串,例如。
    String htmlContent = "ABC1234ABC4567";
    System.out.println(StringUtils.substringBetween(htmlContent, "1234", "4567"));
    System.out.println(StringUtils.substringBetween(htmlContent, "12345", "4567"));
    输出如下:
    ABC
    null
    这样我就的针对数字前后有没有汉字什么的单独区分了估计。
    不知道还有更好的方法没?
      

  3.   


    String str = "金额:88,687,594元";
    Pattern p = Pattern.compile("\\d+(,\\d{3})*");
    Matcher m = p.matcher(str);
    if(m.find()){
    System.out.println(m.group());
    }