2012-02-14 2 views
13

正規表現は - スラッシュ以外のすべてを一致する次の文字列で

/シアトル/レストラン

私は(それが存在する場合)(時々、URLは/シアトル/レストランかもしれませんシアトルにマッチしたいと思います

と時には/レストランかもしれない)。私はしたくないと、以下の順方向と一致するようであるスラッシュ:シアトル/

を私は次のことを試してみましたが、私はそれを動作させることはできません。

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

私は最初のスラッシュが必要なので、解決策は、私はこのように行うことができ、それを削除することではありません。

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

おかげ

トーマス

答えて

22

このようなものはどうですか?

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

私は、Pythonでそれをテストし、正常に動作するようです:

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

完璧に!ありがとう – ThomasD

+2

私は '' /seattle/restaurant'.split( '/') 'と同じことをすると思います。 – film42

関連する問題