java - 如何使用正则表达式检查 Java 中有效的 html 结构

标签 java html regex

我想知道输入的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结构?

最佳答案

使用一些库来做到这一点怎么样?我推荐 JSoup。

关于java - 如何使用正则表达式检查 Java 中有效的 html 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9170910/

相关文章:

python - 基于单列的多个数据框转换

regex - 如何在Excel/Word/Notepad++中每五行插入一个换行符?

java - C 代码的 JNA 等效项

java - 使用带有投影的 find() 方法使用 mongodb java driver 3.4 检索数据

Java 仅使用 Java api 实现不带 Servlet 的字节范围服务

JavaScript 超时函数

html - 显示跨度 inline-block 与 inline 相结合

ruby - Ruby 中的正则表达式未给出预期结果

java - Android View 从 .xml 到 .java - 依赖项

html - 如何在一个元素上使用两个类