在以下字符串中:
/西雅图/餐厅
我想匹配西雅图(如果它存在)(有时网址可能是/西雅图/餐厅,有时它可能是/餐厅)。我不想要的是匹配以下正斜杠:seattle /
我尝试了以下方法,但我无法让它工作:
/(.*[^/]?)restaurant(\?.*)?$
我需要第一个正斜杠,所以解决方法不是删除它,我可以这样做:
(/?)(.*)/restaurant(\?.*)?$
由于
托马斯
答案 0 :(得分:25)
这样的事情怎么样?
^/([^/]+)/?(.*)$
我用python测试过,似乎工作正常:
>>> regex=re.compile(r'^/([^/]+)/?(.*)$')
>>> regex.match('/seattle').groups()
('seattle', '')
>>> regex.match('/seattle/restaurant').groups()
('seattle', 'restaurant')