我正在使用urlrewriting.net进行我的urlrewriting。我需要一些关于正则表达式的帮助(我仍然没有得到....)。
我想匹配
www.mysite.com/restaurant
- >匹配并返回
“restaurant
”www.mysite.com/restaurant?page=1
- >匹配和
返回“restaurant
”www.mysite.com/restaurant?[SOME_RANDOM_QUERYSTRING]
- >比赛
并返回“restaurant
”www.mysite.com/seattle/restaurant
- >匹配并返回“seattle
”和
“restaurant
”www.mysite.com/seattle/restaurant?page=1
- >匹配和
返回“seattle
”和“restaurant
”www.mysite.com/seattle/restaurant?[SOME_RANDOM_QUERYSTRING]
- >比赛
并返回“seattle
”和“restaurant
”www.mysite.com/seattle/restaurant-michelangelo
- >不要抓住www.mysite.com/seattle/restaurant/sushi
- >匹配并返回“seattle
”
和“restaurant
”和“sushi
”www.mysite.com/seattle/restaurant/sushi?page=1
- >匹配并返回
“seattle
”和“restaurant
”以及“sushi
”www.mysite.com/seattle/restaurant/sushi?[SOME_RANDOM_QUERYSTRING]
- >
匹配并返回“seattle
”和“restaurant
”以及“sushi
”www.mysite.com/seattle/restaurant-michelangelo
- >不要抓住关键是我需要url的目录部分而不是querystring-parts。我可以从我的网络分析工具中看出,人们用两个词搜索。他们都搜索城市(西雅图)+类别(餐厅)例如。 “西雅图餐厅”以及城市(西雅图)+餐厅名称(餐厅 - 米开朗基罗)例如。 “西雅图餐厅 - 米开朗基罗”。从结构的角度来看,这当然是一团糟,因为这不是一个等级。在理想世界中,层次结构将是城市 - >类别 - >餐厅。但我仍然希望在我的url-structure中容纳这种搜索行为。与此同时,我还有一个列出该国所有餐馆的页面。
我想知道如何创建正则表达式以及创建它们的最有效方法,因为我猜它们可能变得相当昂贵。
感谢
托马斯
答案 0 :(得分:0)
使用它:
/\/[A-Za-z0-9]{1,}(?:\/|$|\?)/
匹配/字母数字1-infininity然后斜线,行尾或问号