java 正则表达式匹配html

标签 java html regex

解决方案: 这有效:

String p="<pre>[\\\\w\\\\W]*</pre>";

我想匹配并捕获

 标记的封闭内容
尝试了以下方法,不起作用,出了什么问题?

String p="<pre>.*</pre>";

        Matcher m=Pattern.compile(p,Pattern.MULTILINE|Pattern.CASE_INSENSITIVE).matcher(input);
        if(m.find()){
            String g=m.group(0);
            System.out.println("g is "+g);
        }

最佳答案

正则表达式实际上是 not正确的工具。使用解析器。 Jsoup是一个不错的。

Document document = Jsoup.parse(html);
for (Element element : document.getElementsByTag("pre")) {
    System.out.println(element.text());
}

顺便说一句,parse() 方法还可以采用 URLFile

<小时/>

我推荐 Jsoup 的原因是它是我尝试过的所有 HTML 解析器中最不冗长的。它不仅提供类似 JavaScript 的方法返回实现 Iterable 的元素,而且还支持 jQuery like selectors这对我来说是一个很大的优点。

关于java 正则表达式匹配html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2792401/

相关文章:

java - 在导入的 OWL 本体中获取父类(super class)

java - 计算 Apache Spark DStream 中的元素

java - 如何在Android Studio项目中使用TextView显示视频?

javascript - 正则表达式将 <h[n]> 替换为 <h2> 输出不是预期的

html - 使用正则表达式在 HTML 中进行搜索? [ swift 1.2]

java - 下载 Java 类文件并运行?

java - 当我在java中执行更新查询时遇到一些问题

javascript - 替换后的 HTML 不会保留在 DOM 中

javascript - 什么 HTML5 视频监听器可以在视频开头触发事件?

python - 选择用\n 分隔的 <p> 标记