日期:2014-05-20  浏览次数:20684 次

正则表达式:提取标签内信息。验证正确即散分
<li>1-212;<li>2-eiewrw;</li><li>3-7841;<li>4-93993
如何提取以<li>开始但不一定有</li>结束的标签中的内容?

要求提取结果为
1-212;
2-eiewrw;
3-7841;
4-93993


------解决方案--------------------
有的有</li>,有的没有?
------解决方案--------------------
Java code
import java.util.regex.*;

public class Test4{
    public static void main(String[] args){
        String regex="(?<=<li>)([^<>]+)(?=[;\\s])";
        String str="<li>1-212; <li>2-eiewrw; </li> <li>3-7841; <li>4-93993 ";
        Pattern pa=Pattern.compile(regex);
        Matcher matcher=pa.matcher(str);
        while(matcher.find()){
            System.out.println(matcher.group(1));
        }
    }

}