2013-06-22 51 views
0

我需要帮助为迁移的网站创建重定向,并且可以使用RegEx。这是之前的链接/cms/events/view/13-03-20/some-post_title.aspx,这是/event/some-post_title之后。任何人都知道可以做到这一点的RegEx模式?用于URL重定向模式的RegEx?

回答

0

如果你只是需要最后一部分(因为你会知道事件总是在URL的前面),那么下面两部分就可以工作。

这匹配除斜杠和字符串末尾之间的斜线之外的所有内容。

var newurl = '/event/' + url.match(/[^//]*$/); 

这是一个带替换的版本,它将所有内容都替换为最后一个斜杠。

var newurl = url.replace(/(/|^)([^/]*/)*/, '/event/'); 
0

使用sed的示例可以是:

$ echo "/cms/events/view/13-03-20/some-post_title.aspx" | sed -e 's![^/]*/[^/]\+\(/[^/]\+/\).\+/\(.\+\)\.[^\.]\+!\1\2!' 

要解释的正则表达式,首先获取所选择的分离器!之间的两个字段:第一剖析了输入,该第二替换匹配的字符串用的串联第一和第二个拥抱的术语。第一学期等于/events/,第二学期some-post_title

矩形括号用于指定搜索的一组字符:此处仅用于搜索除斜杠之外的任何内容。这样URL元素可以分开。