2015-04-14 42 views
0

我正在进行大量站点迁移,其中有成千上万的内部链接需要更改为新的URL。我正在寻找的是一个正则表达式,我可以通过URL的最后部分(即index.html),并且它找到了与所有子文件夹等完整的特定链接,以便我可以将其替换为数据库与我的新的完全不同的URL。在具有正则表达式的URL中匹配特定文件名

所以,例如我有一个看起来像这样的旧网址:,

http://example.com/old-folder-name/filename.html

在某些情况下,我也可能有一个网址,2 3,4子文件夹:

http://example.com/1/2/3/4/filename.html

我需要只搜索文件名并返回整个网址,以便我可以在数据库中替换它。

我对正则表达式毫无用处。我可以很容易地匹配文件名,但我无法弄清楚如何搜索文件名并选择整个URL准备替换。

+1

有这个问题的答案如何使匹配URL的正则表达式很多问题。取其中一个,然后将其更改为以'/ filename.html'结尾。 – Barmar

回答

1

对于错综复杂的URI匹配,有很多正则表达式,但是这会捕获以“http”开头并以正在搜索的“filename.html”结尾的URL。

/(http.+filename\.html)/gi 

测试:https://regex101.com/

+0

这在测试工具中完美工作,但由于某种原因,WordPress的正则表达式插件都无法找到匹配项。我会将它标记为答案,因为它确实有效。 – Ian

+0

Wordpress,正则表达式插件...这是新的信息。你在使用哪一个? – Drakes

+0

我尝试了Broken Link Checker插件,它有一个正则表达式选项,还有搜索正则表达式(https://wordpress.org/plugins/search-regex/)。该模式在每个模式中都没有返回结果。 – Ian