我需要帮助为迁移的网站创建重定向,并且可以使用RegEx。这是之前的链接/cms/events/view/13-03-20/some-post_title.aspx
,这是之后的/event/some-post_title
。有人知道可以做到这一点的RegEx模式吗?
答案 0 :(得分:0)
使用sed
的示例可以是:
$ echo "/cms/events/view/13-03-20/some-post_title.aspx" | sed -e 's![^/]*/[^/]\+\(/[^/]\+/\).\+/\(.\+\)\.[^\.]\+!\1\2!'
要解释RegEx,首先得到所选分隔符!
之间的两个字段:第一个分析输入,第二个用第一个和第二个拥塞项的串联替换匹配的字符串。第一个字词等于/events/
,第二个字段等于some-post_title
。
矩形括号用于指定搜索的一组字符:此处仅用于搜索除斜线之外的任何内容。这样就可以分离URL元素。
答案 1 :(得分:0)
如果您只需要最后一部分(因为您将知道该事件将始终位于URL的前面),那么以下两个将起作用。
这匹配除了斜杠和字符串结尾之间的斜杠之外的所有内容。
var newurl = '/event/' + url.match(/[^//]*$/);
这是一个带有replace的版本,它取代了最后一个斜杠的所有内容。
var newurl = url.replace(/(/|^)([^/]*/)*/, '/event/');