((<(\\s*?)(object|OBJECT|EMBED|embed))+(.*?)+((object|OBJECT|EMBED|embed)(\\s*?)>))
我需要从本地存储在磁盘上的一些html文件中获取对象和嵌入标签。我想出了上面的正则表达式来匹配java中的标签 使用matcher.group(1);获取整个标记及其内容
任何人都可以改善这一点吗?有什么东西可以立刻突显给我,我应该改变吗?
它确实有用BTW,只是想输入一下,看看它是否会更好,因为我对自己的正则表达式来说还是个新手。
答案 0 :(得分:2)
是的,这是改进:
下载一个完整的Java HTML解析器,如Jsoup,并将其放在类路径中。
现在,您可以选择所有<object>
和<embed>
元素,如下所示:
Document document = Jsoup.parse(new File("/path/to/file.html"), "UTF-8");
Elements elements = document.select("object,embed");
for (Element element : elements) {
System.out.println(element.outerHtml());
}