2016-05-27 5 views
2

私のような正規表現をコンパイルする場合:PythonからRegExグループを取得する方法はありませんか?

pat = re.compile("/resource/([a-z]*)/") 

このパターンのマッチング部品を入手することが可能です(例えば、 "/リソース/"、 "([AZ] *)"、 "/")またはいくつかの等価物を実行するとと一致する検索、または他の正規表現呼び出し?私はパターンがどのように「崩壊するか」を知りたい。

たとえば、オブジェクトのグループ属性は、1つのグループが存在することを示します。しかしそれほど多くの情報はありません。

+0

あなたは私たちにあなたが達成しようとしているものについての詳細を伝えることはできますか? –

+0

これと似たようなことをしたいようです:https://docs.djangoproject.com/en/1.9/topics/http/urls/#reverse-resolution-of-urls。あなたがDjangoを使用していない場合は、何を使用していますか?あなたのフレームワークにも同様の機能があるかもしれません。それ以外の場合は、これを行うフレームワークのソースを調べるか、ライブラリを探してみてください。 –

+0

これは汎用URL "/ r /([az] *)/"であると "/ r/foo /"、 "/ r/bar /"などと一致するとします。内部コンポーネントはURLについては何も知らないが、 _fetch(ID1)_、_fetch(ID2)_を知っている。 一般的なURLを内部表現にマップできる関数を作成したいと考えています。 ==== URLパターンは "/ r /(/)"です。例: 'shimfunc("/r /([az] *)/ "、[(" foo "、ID1)、(" bar "、ID2) "、、"/"==>後で使用する/ return {"/r/foo/":ID1、"/r/bar/":ID2}を生成します。 – KlaxSmashing

答えて

2

regex101'sデバッガ機能を使用してください。正規表現がどのように失敗したか、または成功したかを段階的に確認することができます。

例:

enter image description here

+0

うわー私はこのツールを永遠に使ってきましたが、これが存在するかどうかは分かりませんでした。超便利! – mzhaase

関連する問題