String str = "<li><span>宝贝与描述相符:</span><a href='xxxx'><span class='c-4d4'></span>4.4</a></li>";格式:  (其他) 宝贝与描述相符 (其他) 4.4 (其他)
其中:  宝贝与描述相符 是固定的, 需要得到结果  4.4
求正则表达式

解决方案 »

  1.   

    -_- 楼主是想抓取淘宝的内容吗?你这里描述的 (其他)是指会变化吗?这个评分有规则的吗,例如是5分制?5分的时候是 5.0 还是5 呢? 暂且5分制,就是4.4这种格式String regex=".*?宝贝与描述相符:.*?([0-5][.][0-9])";取括号里面的内容就可以了。不过这是不严格的,例如会匹配到5.9这样的分数, 需要考虑你的文本环境,可以考虑采用选择匹配模式
    火龙果……
      

  2.   


    import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class Test1 { public static void main(String args[]){

     String text = "<li>\n<span>宝贝与描述相符:</span><a href='xxxx'><span class='c-4d4'></span>4.4</a>\n</li>";
     String pattern = ".*?宝贝与描述相符:.*?([0-9][.][0-9])";
     Pattern p = Pattern.compile(pattern);
     Matcher m = p.matcher(text);
     while (m.find()) {
     System.out.println(m.group(1));
     }
      }
    }