要求很简单,
正则截取<!--开头-->结果的部分并替换
用<p></p>这样的截取已经实现了,没问题, String html="kk<p>123456</p>ssss";
List<String> resultList = new ArrayList<String>();
Pattern p = Pattern.compile("<p>([^</p>]*)");//匹配<p>开头,</p>结尾的文档
Matcher m = p.matcher(html );//开始编译
 while (m.find()) {
   resultList.add(m.group(1));//获取被匹配的部分
}
return resultList;
但是截取<!--开头,-->结尾的时候出现了问题。
我尝试过,下面的方式
List<String> resultList = new ArrayList<String>();
Pattern p = Pattern.compile("<!--([^-->]*)");//匹配<p>开头,</p>结尾的文档
Matcher m = p.matcher(html );//开始编译
 while (m.find()) {
   resultList.add(m.group(1));//获取被匹配的部分
}
return resultList;[/code]
好像不行,应该怎么写呢?

解决方案 »

  1.   

    原来代码也是错的,你试试<p>ppppp</p>
    String regex = "<!--(.*?)-->";
    不过,如果是很大的文本,还是建议直接用indexOf, substring
      

  2.   

    你原来<p>([^</p>]*)的正则也是错的你只要在<p></p>中间出现< / p >这样的字符就不行了。
    String regex="<p>(.*?)</p>";匹配<p>开头和</p>结尾
    String regex="<!--(.*?)-->";匹配<!--开头-->结尾