我正在尝试制作一个只返回 <link>
的正则表达式标签 hrefs
为什么这个正则表达式返回所有 hrefs,包括
(?<=<link\s+.*?)href\s*=\s*[\'\"][^\'\"]+
<link rel="stylesheet" rev="stylesheet" href="idlecore-tidied.css?T_2_5_0_228" media="screen">
<a href="anotherurl">Slash Boxes</a>
最佳答案
要么
/(?<=<link\b[^<>]*?)\bhref=\s*=\s*(?:"[^"]*"|'[^']'|\S+)/
或
/<link\b[^<>]*?\b(href=\s*=\s*(?:"[^"]*"|'[^']'|\S+))/
主要区别是[^<>]*?
而不是 .*?
.这是因为您不希望它继续搜索其他标签。
关于html - RegEx 仅返回 'href' 标签的 'link' 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/268338/