我正在构建一个 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 文件的链接,以便我可以保存它。谁能帮我解决我错过的事情吗?
最佳答案
尝试: CSS_TAG_PATTERN
<link[^>]+?text/css[^>]*?>
将匹配
<link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/stackoverflow/all.css?v=0eb8b68aff29">
关于Java正则表达式在HTML文件中查找CSS导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20341022/