2016-05-31 29 views
1

私は通常Regexに苦労していますが、djangoのURLS.pyに提供する一般的な正規表現の用語集のようなものがあるのだろうかと思います。 urls.py正規表現のチートシートを作るのは本当に便利です。DjangoのURLの最も一般的な正規表現

Djangoユーザーは、最も一般的なurls.py正規表現入力をリストできますか?

答えて

2

は、私が使用する「共通」リストはありませんが、いくつかの一般的なパターンだけでなく、いくつかの簡単なルールがありますされています

  1. キャレット文字(^)は、「で始まる」を意味します。
  2. ドル記号($)は「終了」を意味します。
  3. 疑問符(?)は「オプション」を意味します。
  4. (?Ppattern)形式を使用して、パターンをグループ化して名前を付けることができます。

したがって、単純なURLの場合、パラメータを指定しないと、^url$のパターンがわかります。例:パラメータの場合

url(r'^foo$', 'app.view') 
url(r'^foo/subdirectory/?$', 'app.view') 

、あなたはグループ化メカニズムを使用することをお勧めします:

url(r'^foo/(?P<parameter_name>[-\w]+)/$', 'app.view') 
url(r'^foo/(?P<parameter_name>[-\w]+)/(?P<parameter_two_name>[-\w]+)/$', 'app.view') 

[-\w]パターンが「空白でない何か」を意味します。角括弧[]は、可能な文字の範囲内の文字を一致として受け入れることを確立します。\wは「空白文字」のショートカットであり、ショートカットの前の-は「何もありません」を意味します。角括弧の後の "+"は、 "繰り返す前のパターン"を意味します。

RegExは完全で複雑なトピックですが、上記の3つの例では、ほとんど私のurls.pyファイルの約90%をカバーしています。

+0

本当に良い説明です。 – javed