regex - 提取包含特定子字符串的 html 属性
问题描述
我需要在最里面的引号内匹配一个单词(blah)。例子:
<link rel="stylesheet" type="text/css" href="/BLAH/Test/Test/Test.css"> <script src="/blah/Test/Test/Test.js"></script>
所以我需要它返回:
“/BLAH/Test/Test/Test.css”
“/blah/Test/Test/Test.js”
当我尝试写东西时,它会抓住第一个和最后一个双引号,而不是看到单词 blah 的两个实例。
任何帮助将不胜感激,但除此之外,请解释一下,以便我学习!
解决方案
(<link.*href=['"]([^'"]*).*|<script.*src=['"]([^'"]*).*)
所以它的作用是首先定位一个链接标签或一个脚本标签。然后它在链接中查找 href 属性,或在脚本中查找 src 属性。然后它会捕获该特定属性的引号中的任何内容。如果您不使用引号来定义属性,这将不起作用。
您也可以使用我在评论中建议的lookbehind 方法,但有人告诉我,lookbehinds 并没有得到很大的支持,所以这样做需要您自担风险。
推荐阅读
- java - 无法定位元素:{"method":"xpath","selector":"path"}
- python - 带代理的 Selenium Webdriver
- azure - SSL 证书问题:无法获取本地颁发者证书 AZURE DEVOPS
- python - 如何在 Python 中一一访问 3D numpy 数组的所有列?
- ios - iOS 14.5 - [Assert] 有人在搜索栏可见时删除了活动的搜索控制器
- python - 使用 selenium .click() 时,“到达日期”按钮没有反应
- python - 更新 cx_Oracle 会破坏任何正在运行的代码吗?
- javascript - 如何在 vanilla JS 的数组上将数字与我的输入分开
- node.js - 带有图像、视频和其他文件的 MongoDB 聊天记录
- excel - 搜索值时出现通配符问题