Еще одно регулярное выражение - как определить строку запроса - PullRequest
0 голосов
/ 03 февраля 2012

Я использую 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, а не строки запроса.Дело в том, что из моего инструмента веб-аналитики я вижу, что люди ищут по двум словам.Они оба ищут город (сиэтл) + категорию (ресторан) например."Сиэтл ресторан", а также для города (Сиэтл) + название ресторана (ресторан-Микеланджело) например."Сиэтл ресторан-Микеланджело".Со структурной точки зрения это, конечно, беспорядок, поскольку это не иерархия.В идеальном мире иерархия была бы город -> категория -> ресторан.но я все еще хотел бы разместить это поведение поиска в моей структуре URL.В то же время у меня также есть страница со списком всех ресторанов страны.

Мне нужна помощь о том, как создавать регулярные выражения, а также о наиболее эффективном способе их создания, так как, я думаю, они могут стать довольно дорогими..

спасибо

Томас

1 Ответ

0 голосов
/ 03 февраля 2012

используйте это:

/\/[A-Za-z0-9]{1,}(?:\/|$|\?)/

Совпадения / буквенно-цифровые символы 1-бесконечность, затем косая черта, конец строки или знак вопроса

...