需要正则表达式专家的帮助。我需要一个正则表达式模式来匹配Javascript文件源代码中的相对文件路径。
必须只匹配包含至少1个或多个/和文件扩展名的相对路径。源代码中的示例路径:
应该匹配:
var p = "./path/to/file.jpg";
var paths ['/path/file.jpg', `./sample.jpg`]
只需要匹配"|'之后直到最后一个/。所以,从上面的路径中,这是匹配的组应该找到:
"./path/to/"
"/path/"
"./"
我计划使用正则表达式来替换相对路径源只指向文件。
不应该匹配这些看起来像路径的元素:
var mime = "text/html";
var reg = /some-regex/;
var replaced = "test.match(/[a-z]/, "/")
可以这样做:
(?<=(['"`])).?/.*?(?=.[^.]+1)
(?<=(['"`]))
-查找撇号,双引号或反勾号并将其存储在捕获组#1.?/
-可选句点后加斜杠.*?
-松散地继续捕获一切(?=.[^.]+1)
-以文件扩展名和与捕获组#1相同的字符串开头关闭
https://regex101.com/r/raEARx/1