需要从特定文件夹中的链接标记获取css文件名。
<link href="/assets/49f0ugdf8g/sub/style.css" -> style.css
目前有
match(`<link .*?href="\/assets\/(.*?\.css)"/i)
返回路径减去“/ assets /” 是否可以扩展以删除路径的其余部分并返回文件名。
答案 0 :(得分:3)
不使用正则表达式并使用原生JS String.split
函数会更简单:
var link = document.getElementsByTagName('link')[0]; // or whatever JS to get your link element
var filename = link.href.split('/').pop(); // split the string by the / character and get the last part
答案 1 :(得分:0)
不确定
match(<link .*?href="\/assets\/([^/]+\.css)"/i)
// ^^^^^ change here
我放弃了?
,因为您可能希望捕获组变得贪婪。在假设“文件”名称中始终至少有一个字符时,也使用+
而不是*
。
答案 2 :(得分:0)
答案 3 :(得分:0)
尝试:
match(`<link .*?href="\/assets\/(?:[^\/]*\/)*(.*?\.css)"/i)
答案 4 :(得分:0)
var link = '<link href="/assets/49f0ugdf8g/sub/style.css">';
var match = link.match(/<link .*?href="(.*)">/i);
var filename = match[1].split('/').pop();