解决方案 »

  1.   

     String s1 = "<tr align=\"center\"><td>一级</td><td>延误a</td><td>测试1</td><td></td></tr>"; System.out.println(s1.replaceAll(".*?<td>(.*?)</td><td>(.*?)</td><td>(.*?)</td>.*", "$1$2$3"));
    String s2 = "<span align=\"left\">提货abc少件</span>";
    System.out.println(s2.replaceAll(".*?<span.*[^>]>(.*?)</span>.*?", "$1"));
      

  2.   

    td、span只是个别标签,项目中还有很多别的标签,所以想写个通用的正则表达式String html = "<span align=\"left\">提货abc少件</span>";
    Pattern p1 = Pattern.compile("<(\\S*?)[^>]*>(.*?)</\\1>|<.*?/>");
    Matcher mt = p1.matcher(html);
    while(mt.find()){
    System.out.println(mt.group(2));
    }打印出结果为:提货abc少件
    但是 <tr align=\"center\"><td>一级</td><td>延误a</td><td>测试1</td><td></td></tr>
    结果为:<td>一级</td><td>延误a</td><td>测试1</td><td></td>
    不知道哪有问题。
      

  3.   

    String reg = "(<.*>).*(</.*>)";
    String s = "<1>hhh<ac>a</sa>bbbbb<b></b>ccc<>";
    Pattern pa = Pattern.compile(reg);
    Matcher ma = pa.matcher(s);
    StringBuffer sb = new StringBuffer();
    boolean rs = ma.find();
    while(rs){
    ma.appendReplacement(sb, "");
    rs = ma.find();
    }
    ma.appendTail(sb);
    System.out.println(sb.toString());
      

  4.   

    String reg = "<([^>]*)>";
    String s = "<1>hhh<ac>a</sa>bbbbb<b></b>ccc<>";
    Pattern pa = Pattern.compile(reg);
    Matcher ma = pa.matcher(s);
    StringBuffer sb = new StringBuffer();
    boolean rs = ma.find();
    while(rs){
    ma.appendReplacement(sb, "");
    rs = ma.find();
    }
    ma.appendTail(sb);
    System.out.println(sb.toString());这个才对