Подтвердить что ты не робот

Regex - соответствует всем, кроме косой черты

в следующей строке:

/Сиэттл/ресторан

Я хотел бы сопоставить Сиэтл (если он присутствует) (иногда URL-адрес может быть /seattle/restaurant, а иногда может быть/ресторан). Я не хочу соответствовать следующей косой чертой: seattle/

Я пробовал следующее, но я не могу заставить его работать:

       /(.*[^/]?)restaurant(\?.*)?$

Мне нужна первая косая черта, поэтому решение не должно удалять это, что я могу сделать вот так:

     (/?)(.*)/restaurant(\?.*)?$   

Спасибо

Томас

4b9b3361

Ответ 1

Как насчет этого?

^/([^/]+)/?(.*)$

Я тестировал его с помощью python и, кажется, работал нормально:

>>> regex=re.compile(r'^/([^/]+)/?(.*)$')
>>> regex.match('/seattle').groups()
('seattle', '')
>>> regex.match('/seattle/restaurant').groups()
('seattle', 'restaurant')