从脚本标记提取特定的src属性

2024-04-25 13:33:15 发布

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

我想通过RE从包含jquery作为子字符串的输入内容获取JS文件名。在

这是我的代码:

第一步:从内容中提取JS文件。在

>>> data = """    <script type="text/javascript" src="js/jquery-1.9.1.min.js"/>
...     <script type="text/javascript" src="js/jquery-migrate-1.2.1.min.js"/>
...     <script type="text/javascript" src="js/jquery-ui.min.js"/>
...     <script type="text/javascript" src="js/abc_bsub.js"/>
...     <script type="text/javascript" src="js/abc_core.js"/>
...     <script type="text/javascript" src="js/abc_explore.js"/>
...     <script type="text/javascript" src="js/abc_qaa.js"/>"""
>>> import re
>>> re.findall('src="js/([^"]+)"', data)
['jquery-1.9.1.min.js', 'jquery-migrate-1.2.1.min.js', 'jquery-ui.min.js', 'abc_bsub.js', 'abc_core.js', 'abc_explore.js', 'abc_qaa.js']

步骤2:获取子字符串为jquery的JS文件

^{pr2}$

我能不能在步骤1中的第2步中重新设计模式以获得结果?在


Tags: 文件字符串textsrc内容datatypejs
1条回答
网友
1楼 · 发布于 2024-04-25 13:33:15

当然可以。一种方法是使用

re.findall('src="js/([^"]*jquery[^"]*)"', data)

这将匹配"js/之后的所有内容,直到最接近的",如果它包含jquery的任何地方。如果您对jquery的位置有更多的了解(例如,如果它总是在开头),那么您可以相应地调整regex。

如果要确保jquery没有被其他字母数字字符直接包围,请使用word boundary anchors

^{pr2}$

相关问题 更多 >