java模式在文本之间查找html标记

java模式在文本之间查找html标记,java,regex,Java,Regex,我想在中查找文本“ABCD” String text = "<div class=\"aaaa\">1234</div>" + " <li class=\"pcs05\">ABCD</li>"; Pattern p = Pattern.compile("<li class=[^A-Za-z0-9]>(\\S+)</li>"); Matcher m = p.matcher(text); if(m.

我想在中查找文本“ABCD”

String text = "<div class=\"aaaa\">1234</div>"
            + "   <li class=\"pcs05\">ABCD</li>";

Pattern p = Pattern.compile("<li class=[^A-Za-z0-9]>(\\S+)</li>");
Matcher m = p.matcher(text);
if(m.find()){
    System.out.println(m.group(1));
}
String text=“1234”
+“
  • ABCD
  • ”; 模式p=Pattern.compile(“
  • (\\S+)
  • ”; 匹配器m=p.Matcher(文本); if(m.find()){ 系统输出println(m.group(1)); }
    但它不打印任何内容。

    String text=“1234”;
    
    String text =  "<div class=\"aaaa\">1234</div>";
                   text +=    "<li class=\"pcs05\">ABCD</li>";
        Pattern p = Pattern.compile("<li class=\"[A-Za-z0-9]+\">(\\S+)</li>");
        Matcher m = p.matcher(text);
        if(m.find()){
            System.out.println(m.group(1));
        }
    
    text+=“
  • ABCD
  • ”; 模式p=Pattern.compile(“
  • (\\S+
  • ”); 匹配器m=p.Matcher(文本); if(m.find()){ 系统输出println(m.group(1)); }
    String text=“1234”;
    text+=“
  • ABCD
  • ”; 模式p=Pattern.compile(“
  • (\\S+
  • ”); 匹配器m=p.Matcher(文本); if(m.find()){ 系统输出println(m.group(1)); }
    此类任务的首选工具是HTML或XML解析器(更多信息)。我喜欢使用的一个更简单的解析器是。它的优点在于它支持CSS查询语法

    因此,您的代码可能如下所示:

    String text = "<div class=\"aaaa\">1234</div>"
                + "   <li class=\"pcs05\">ABCD</li>";
    
    Document doc = Jsoup.parse(text);
    String liValue = doc.select("li").text();
    
    System.out.println(liValue);
    
    String text=“1234”
    +“
  • ABCD
  • ”; Document doc=Jsoup.parse(文本); String liValue=doc.select(“li”).text(); System.out.println(liValue);

    输出:ABCD

    此类任务的首选工具是HTML或XML解析器(更多信息)。我喜欢使用的一个更简单的解析器是。它的优点在于它支持CSS查询语法

    因此,您的代码可能如下所示:

    String text = "<div class=\"aaaa\">1234</div>"
                + "   <li class=\"pcs05\">ABCD</li>";
    
    Document doc = Jsoup.parse(text);
    String liValue = doc.select("li").text();
    
    System.out.println(liValue);
    
    String text=“1234”
    +“
  • ABCD
  • ”; Document doc=Jsoup.parse(文本); String liValue=doc.select(“li”).text(); System.out.println(liValue);

    输出:ABCD

    正确的regexp将是
  • (\S+)
  • 强制链接:。您不能使用适当的工具(HTML或XML解析器,如jsoup)执行该任务的任何原因?适当的regexp将是
  • (\S+)
  • 强制链接:。您为什么不能使用适当的工具(HTML或像jsoup这样的XML解析器)来完成该任务?