如何在notepad ++中使用正则表达式来更改URL

时间:2014-05-30 15:21:28

标签: regex notepad++

我需要一些迁移网站网址的帮助。我们将我们的网站从Joomla迁移到Worpdress,在我们的帖子中,我们有超过20K的内部链接。

这些链接的结构如下:

www.mysite.nl/current-post-title/index.php?option=com_content&view=article&id=5259:related-post-title&catid=35:universum&Itemid=48

我们需要的是:

www.mysite.nl/related-post-title

所以基本上我们需要删除www.mysite.nl/后面的所有内容,直到冒号:,即删除它:current-post-title/index.php?option=com_content&view=article&id=5259:(也必须删除冒号本身)

然后删除第一个&符号后面的所有内容(包括&符号本身),直到字符串结尾,即删除&catid=35:universum&Itemid=48

当然,只有包含此index.php?option=com_content的网址字符串必须更改。

我以普通文本转储表并在Notepad ++中打开它以进行搜索并替换为正则表达式,因为每次必须从这些行中删除的内容都不同。

有人可以用正确的正则表达来帮助我吗?

2 个答案:

答案 0 :(得分:1)

找到下面输入的框:

(www.mysite.nl)\/.*index.php\?option=com[^:]+:([^&]+)&.*

在替换为框中输入:

\1/\2

结果

www.mysite.nl/related-post-title

答案 1 :(得分:0)

从里到外,而不是从外到内,用\/.+&id=\d+\:(.+?)&.+替换/$1。此外,将一些内容粘贴到http://www.regexr.com/并进行播放,尽管JavaScript和Notepad ++在实施的Regex功能方面可能存在一些差异,例如:负面的看法。