2013-06-22 81 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元素可以分開。