【问题标题】:How to check valid html structure in Java using regex如何使用正则表达式检查 Java 中的有效 html 结构
【发布时间】:2012-02-07 04:12:54
【问题描述】:

我想知道输入的 html 字符串是否有效。 我研究了各种 HTML 解析器。但是任何东西都没有验证 html 方法。 Jsoup 几乎和我想要的一样。但它会生成有效的解析 html。 基本上我想检查以下有效的html结构。

<html>
<head>~</head>
<body>~</body>
</html>

所以,我用 Java 编写了代码。

String html = "<html><head><title>asdf</title></Head><body>asfd</body></html>";
String compile = "(?i)<html.*>.*<head>.*?</head>.*<body>.*</body>.*</html>";
Pattern pattern = Pattern.compile(compile);
Matcher matcher = pattern.matcher(html);
if (matcher.matches()) {
    System.out.println("Valid html");
} else {
    System.out.println("Invalid html");
}

但是如果 html 有 2 个

元素,它也会检查有效的 html。 如何有效地检查有效的 html 结构?

【问题讨论】:

  • 尝试通过 XML 解析器推送它并确保存在 html、head 和 body 元素?
  • 自然; stackoverflow.com/questions/1732348/…。如果您正在寻找的只是&lt;html&gt;&lt;/html&gt; 中的&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;/body&gt;,那么只需搜索indexOf,从找到的最后一个东西的末尾开始,并确保它们都在那里按顺序。
  • Steven//你能推荐一些XML解析器吗?
  • 又一个“我如何使用 Y 做 X?”其中 Y 是完全不适合实现 X 的工具。

标签: java html regex


【解决方案1】:

如何使用一些库来做到这一点?我推荐JSoup。

【讨论】:

    猜你喜欢
    • 2010-10-18
    • 1970-01-01
    • 2013-04-29
    • 2020-05-07
    • 2021-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-11
    相关资源
    最近更新 更多