全部 -
首先,请允许我向任何可以(并且确实)提供帮助解决此问题的人表示感谢....谢谢!
我有几个文件夹深的样式表路径,我想将我找到的任何文件夹更改为单个css文件夹。
<link rel="stylesheet" href="../includes/style/main.css" type="text/css" media="all" />
<link rel="stylesheet" href="/templates/includes/style/main.css" type="text/css" />
<link rel="stylesheet" href="../../includes/user/style/user.css" type="text/css" />
<link rel="stylesheet" href="includes/admin/css/style/admin.css" type="text/css" />
正如您所看到的那样,用户| admin | main.css的路径到处都是,我正在尝试引用一个中心位置。
我想找到并替换要读取的路径信息 href =“/ css / [文件名] .css”
这是我到目前为止所做的,但我无法弄清楚如何让它在文件名之前转到最后的斜杠
^<link rel="stylesheet" href=".*?(.*?[\/])
再次,任何帮助将不胜感激。
答案 0 :(得分:0)
您可以通过多种方式定位所需内容,具体取决于您希望如何执行替换(以及您可以随意使用的正则表达式),它们可能会有所不同。
我将提供一些可能有用的不同用途。
匹配href
属性
如果您想用不同的值替换整个href
部分,可以使用以下表达式:
href=(["'].+\.css["'])
这将使用您的示例输入匹配任何href
属性中的所有内容,如下所示:
将<link>
代码与<href>
匹配
如果您想明确表示您只想对<link>
代码执行此操作,则可以附加之前的<link ...
内容:
<link rel=['"]stylesheet['"] href=(['"].+\.css['"])
看起来像:
将<link>
标记与CSS文件匹配
最后,如果您只想匹配路径,但不包括CSS文件,则可以使用以下内容:
<link rel=['"]stylesheet['"] href=['"].+(?=\/.+\.css['"])
看起来像:
只需抓取href
直到CSS文件
href=['"].+(?=\/.+\.css['"])
答案 1 :(得分:0)
您可以使用此正则表达式:
href="[^"]+(\/[^.]+\.[^"]+)"
/filename.css
将在$1
。
它不是超级优化的,因为它需要稍微回溯一下。 (href="[^"]+
最初将吞噬整个路径。)
或者,您可以使用此正则表达式:
href="[^"]+(\/[^"\/]+)"
他们都对测试数据给出了相同的结果。
为了帮助您,更换应该是href="YOUR_PATH$1"
。您的路径可能需要先转义。