我有以下的正則表達式中刪除整個查詢字符串,但如何可以刪除查詢字符串完全如果存在:使用正則表達式
^~/(.*)/restaurant/(.*)
例如。網址
/seattle/restaurant/sushi?page=2
或
/seattle/restaurant/sushi?somethingelse=something
或
/seatthe/restaurant/sushi
應該只返回seattle
和restaurant
和sushi
並刪除任何查詢字符串,如果它存在。
(對於重新發布類似的問題感到抱歉,但我無法得到在我以前的問題中工作的答案)。
感謝
托馬斯
我想匹配「西雅圖」和「壽司」作爲單獨的比賽。此外,如果「壽司」由查詢字符串進行。在這種情況下,我想匹配「壽司」,並刪除?之後的一切。謝謝 – ThomasD 2012-02-04 10:57:28
@ThomasD:我編輯了我的回覆。 – npinti 2012-02-04 11:21:02
非常好。這樣可行!我嘗試刪除最後兩組(餐廳)和([^?] +)之間的斜線*,因爲我想以與/ seattle/restaurant/sushi相同的方式匹配/ seattle/restaurant?page = 2。頁= 2。但我無法實現它的工作。由於我有很多其他URL,例如/ seattle/restaurant-michelangelo,這些URL不應該被捕獲,所以我想我需要對應該被捕獲的2.級別的值進行硬編碼(例如餐廳,咖啡廳,外賣)。在第三級(/西雅圖/餐廳/壽司),我沒有問題,所以你的建議在這裏工作。謝謝 – ThomasD 2012-02-04 11:59:28