Regex URL重定向模式的正则表达式?

Regex URL重定向模式的正则表达式?,regex,url-rewriting,Regex,Url Rewriting,我需要帮助创建一个迁移的网站重定向,可以使用正则表达式。这是前链接/cms/events/view/13-03-20/some-post\u title.aspx,这是后链接/event/some-post\u title。任何人都知道可以这样做的正则表达式模式吗?使用sed的示例可以是: $ echo "/cms/events/view/13-03-20/some-post_title.aspx" | sed -e 's![^/]*/[^/]\+\(/[^/]\+/\).\+/\(.\+\)\

我需要帮助创建一个迁移的网站重定向,可以使用正则表达式。这是前链接
/cms/events/view/13-03-20/some-post\u title.aspx
,这是后链接
/event/some-post\u title
。任何人都知道可以这样做的正则表达式模式吗?

使用
sed
的示例可以是:

$ echo "/cms/events/view/13-03-20/some-post_title.aspx" | sed -e 's![^/]*/[^/]\+\(/[^/]\+/\).\+/\(.\+\)\.[^\.]\+!\1\2!'
要解释正则表达式,首先获取所选分隔符之间的两个字段
:第一个解析输入,第二个用第一个和第二个术语的串联替换匹配的字符串。第一个术语等于
/events/
,第二个
some-post\u title


方括号用于指定搜索的一组字符:此处仅用于搜索除斜杠以外的任何字符。这样,URL元素就可以分开了。

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

除了斜线和字符串结尾之间的斜线之外,它匹配所有内容

var newurl = '/event/' + url.match(/[^//]*$/);
这是一个带有replace的版本,它替换了直到最后一个斜杠的所有内容

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