如何使用 java 正则表达式过滤 html 文件内容?

How can I filter html file content with java regular expressions?

有了java我可以下载一个网页到txt中file.Now我想通过常规expression.The从这个txt文件中读取值expression.The下面是真正的一小部分html.

<div>
   <input id="_NAME" value="/John/" />
   <input id="_LASTNAME" value="/BOND/"/>
   <input id="_Class"   value="5" />
</div>

我只想根据id(_Name和_LASTNAME)读取值? 提前致谢

只要HTML文件在浏览时可用,就应该可以被Jsoup解析。由于您只查询 input 元素的属性,因此您实际上不必担心结果 DOM.

的结构

示例代码,使用您的 HTML 示例,前面有一堆错误的 HTML 标记:

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;


public class SO27938637 {
    public static void main(String[] args) {
        Document doc = Jsoup.parse("<div><span><div><b>sdf</span>dsf<i>sdfdsfsdfds<span></div><div>\n    <input id=\"_NAME\" value=\"/John/\" />\n   <input id=\"_LASTNAME\" value=\"/BOND/\"/>\n   <input id=\"_Class\"   value=\"5\" /></div>");
        Elements inputElement = doc.select("input");

        for (Element e: inputElement) {
            System.out.println(e.attr("id") + ": " + e.attr("value"));
        }
    }
}

输出:

_NAME: /John/
_LASTNAME: /BOND/
_Class: 5