【发布时间】:2013-12-18 21:53:40
【问题描述】:
我正在构建一个 Java 程序,它将网站的副本下载到本地计算机,同时保持原始文件层次结构。
我正在使用以下内容: 查找 http://www.w3schools.com/css/css_howto.asp 形式的 CSS(注意工作)
private static final String HTML_CSS_TAG_PATTERN = "\\s*(?i)href\\s*=\\s*(\"([^\"]*\")|'[^']*'|([^'\">\\s]+))";
private static final String CSS_TAG_PATTERN = "(?i)<link([^>]+)>(.+?)>";
要查找图像(工作正常):
private static final String HTML_IMG_TAG_PATTERN = "\\s*(?i)src\\s*=\\s*(\"([^\"]*\")|'[^']*'|([^'\">\\s]+))";
private static final String IMG_TAG_PATTERN = "(?i)<img([^>]+)>(.+?)>";
查找http://www.w3schools.com/html/html_links.asp 形式的链接(工作正常)
private static final String HTML_A_HREF_TAG_PATTERN = "\\s*(?i)href\\s*=\\s*(\"([^\"]*\")|'[^']*'|([^'\">\\s]+))";
private static final String HTML_A_TAG_PATTERN = "(?i)<a([^>]+)>(.+?)</a>";
链接和图片都可以正常工作,但 CSS 文件却不行。我希望它能提取到 CSS 文件的链接,以便我可以保存它。谁能帮我解决我错过的问题?
【问题讨论】:
-
只使用像 jsoup.org 这样的 HTML 解析器有什么问题?为什么要尝试这种过于复杂且容易出错的方式?
-
这是一个作业,我必须使用正则表达式