如下代码
- Java code
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(); } }
我想得到这样的结果
公司的优点;
政治斗争少,学习空间大
公司的缺点;
加班太多,工作压力大
你给公司的建议;
取消显式的末位淘汰率
------解决方案--------------------
这个真心有点难。。那个标签也太不规则了。。
- Java code
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());
------解决方案--------------------
- Java code
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(); }
------解决方案--------------------