如下代码public static void main(String[] args) {

try {

String s = "";
String html = " <p class='' style='padd-bottom:3px;'><strong>公司的优点</strong></p>"+"政治斗争少,学习空间大"
+ "<br /><br /><p class='' style='padd-bottom:3px;'><strong>公司的缺点</strong></p>"
+ "加班太多,工作压力大"
+ "<br /><br /><p class='' style='padd-bottom:3px;'><strong>你给公司的建议</strong></p>"
+ "取消显式的末位淘汰率<div style='padding-top:10px;color:#333333;' id='less_rating_129277'>";
String reg = "</strong></p>.*";

Pattern pattern = Pattern.compile(reg, Pattern.CASE_INSENSITIVE
| Pattern.MULTILINE | Pattern.DOTALL);
Matcher matcher = pattern.matcher(html);
if (matcher.find()) {
s=matcher.group();
}
System.out.println(s);
} catch (Exception e) {
e.printStackTrace();
} }
我想得到这样的结果
                  公司的优点;
政治斗争少,学习空间大
公司的缺点;
加班太多,工作压力大
你给公司的建议;
取消显式的末位淘汰率

解决方案 »

  1.   

    这个真心有点难。。那个标签也太不规则了。。String html = " <p class='' style='padd-bottom:3px;'><strong>公司的优点</strong></p>"
    + "政治斗争少,学习空间大"
    + "<br /><br /><p class='' style='padd-bottom:3px;'><strong>公司的缺点</strong></p>"
    + "加班太多,工作压力大"
    + "<br /><br /><p class='' style='padd-bottom:3px;'><strong>你给公司的建议</strong></p>"
    + "取消显式的末位淘汰率<div style='padding-top:10px;color:#333333;' id='less_rating_129277'>";
    String reg = "\\<strong\\>([\u4E00-\u9FA5]+).+?p\\>(\\S+?)[<br|<div]";
    Pattern pattern = Pattern.compile(reg);
    Matcher matcher = pattern.matcher(html);
    StringBuffer sb = new StringBuffer();
    while(matcher.find()) {
    sb.append(matcher.group(1) + ":" + matcher.group(2) + ";");
    }
    System.out.println(sb.toString());输出:公司的优点:政治斗争少,学习空间大;公司的缺点:加班太多,工作压力大;你给公司的建议:取消显式的末位淘汰率;
      

  2.   


    try {
              
              String s = "";
              String html = " <p class='' style='padd-bottom:3px;'><strong>公司的优点</strong></p>"+"政治斗争少,学习空间大"
                      + "<br /><br /><p class='' style='padd-bottom:3px;'><strong>公司的缺点</strong></p>"
                      + "加班太多,工作压力大"
                      + "<br /><br /><p class='' style='padd-bottom:3px;'><strong>你给公司的建议</strong></p>"
                      + "取消显式的末位淘汰率<div style='padding-top:10px;color:#333333;' id='less_rating_129277'>";
              String reg = "<[^>]+>([^<>]+?)<[^>]+>";
              
              Pattern pattern = Pattern.compile(reg);
              Matcher matcher = pattern.matcher(html);
              while (matcher.find()) {
                  s=matcher.group(1);
                  System.out.println(s);
              }
              
          } catch (Exception e) {
              e.printStackTrace();
          }
      

  3.   

    改成String reg = "<strong>(.+?)</strong.+?p>(.+?)[<br|<div]";
    应该要好些