regex帮助python从css提取所有图像url

2024-09-28 05:15:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从css文件中提取所有的图像(.jpg,.png,.gif)uri。在

示例css

.blockpricecont{width:660px;height:75px;background:url('../images/postBack.jpg') 
repeat-x;/*background:url('../images/tabdata.jpg') repeat-x;*/border: 1px solid #B7B7B7;

使用的正则表达式-

^{pr2}$

问题是,很少有css类包含注释代码(/*----*/),这些注释包含.jpg引用。我得到的上述正则表达式的输出是

output
 ["../images/postBack.jpg') repeat-x;/*background:url('../images/tabdata.jpg'"]

expected output:
 ["../images/postBack.jpg"]

我希望我的正则表达式在.jpg的第一个匹配处停止,但它一直持续到行尾。在

提前谢谢。在


Tags: 文件图像url示例outputpngurigif
3条回答

最简单的方法是在匹配之前消除注释:

css = re.sub(r'(?s)/\*.*\*/', '', css)

不过,我同意Matthew的观点,即使用专用解析器会更好。下面是一个带有tinycss的示例:

^{pr2}$

这可能更适合css解析器。我没有用过,但我以前看过推荐的this one。在

print re.findall('url\(([^)]+)\)',target_text)

我想那应该行得通

相关问题 更多 >

    热门问题