Python 正则表达式提取 CSS @font-face URL
使用 Python 正则表达式从 CSS @font-face 声明中提取 URL
您想从 CSS 代码中提取 @font-face 声明中的 URL 吗?可以使用 Python 的正则表达式来轻松实现。
假设您有以下 CSS 代码片段:
'fontStyle': '@font-face{font-family: 'mtsi-font';src:url('//s3plus.meituan.net/v1/mss_73a511b8f91f43d0bdae92584ea6330b/font/e3dfe524.eot');src:url('//s3plus.meituan.net/v1/mss_73a511b8f91f43d0bdae92584ea6330b/font/e3dfe524.eot?#iefix') format('embedded-opentype'),url('//s3plus.meituan.net/v1/mss_73a511b8f91f43d0bdae92584ea6330b/font/e3dfe524.woff');}'
如何通过 Python 正则获取 //s3plus.meituan.net/v1/mss_73a511b8f91f43d0bdae92584ea6330b/font/e3dfe524.woff 内容
您可以使用以下正则表达式来提取 URL:
import re
text = ''fontStyle': '@font-face{font-family: 'mtsi-font';src:url('//s3plus.meituan.net/v1/mss_73a511b8f91f43d0bdae92584ea6330b/font/e3dfe524.eot');src:url('//s3plus.meituan.net/v1/mss_73a511b8f91f43d0bdae92584ea6330b/font/e3dfe524.eot?#iefix') format('embedded-opentype'),url('//s3plus.meituan.net/v1/mss_73a511b8f91f43d0bdae92584ea6330b/font/e3dfe524.woff');}'
pattern = r'url\('(.*?)\'\)'
urls = re.findall(pattern, text)
print(urls)
输出:
['//s3plus.meituan.net/v1/mss_73a511b8f91f43d0bdae92584ea6330b/font/e3dfe524.eot', '//s3plus.meituan.net/v1/mss_73a511b8f91f43d0bdae92584ea6330b/font/e3dfe524.eot?#iefix', '//s3plus.meituan.net/v1/mss_73a511b8f91f43d0bdae92584ea6330b/font/e3dfe524.woff']
这将返回一个包含所有 URL 的列表。
正则表达式解释:
url\('(.*?)\'\): 匹配url('...')格式的字符串,其中(...)部分是需要提取的 URL。\(和\): 转义括号字符,使其在正则表达式中被视为普通字符。': 匹配单引号字符。(.*?): 匹配任意字符,非贪婪模式,尽可能少的匹配。re.findall(): 查找所有匹配的 URL,并返回一个列表。
注意:
- 代码中的
text变量包含 CSS 代码片段,请将它替换为您需要分析的实际 CSS 代码。 - 您可以根据需要修改正则表达式以适应其他类型的 URL 模式。
希望这篇文章对您有所帮助!
原文地址: https://www.cveoy.top/t/topic/gyHK 著作权归作者所有。请勿转载和采集!