2016-10-20 3 views
1

私のurlは正規表現でURL形式をチェックするには?

/EN/33 /詳細

しかし、数33は、動的であるの形式であると私は、URLが/EN/一部と/詳細を持っているかどうかを確認する必要があります部分とその間の数字です。

私は

if url == r'^/en/(?d[0-9]+)/details': 

を通じて確認してみましたしかし、私は、DjangoのURLの正規表現の構文で確認が、それは動作しません。私がどこに間違っているのか分かりますか?

+1

は、説明のために、あなたの正規表現から –

答えて

1

Pythonで(?d)のような正規表現構文がありません。

r'/en/\d+/details're.matchを使用する必要があります。

if re.match(r'/en/\d+/details') 

re.matchメソッドは、文字列の先頭で検索を固定するので、

  • /en/場合にのみ、一致を見つける - /en/は、文字列の先頭であり、
  • に続きます
  • \d+ - 1桁以上
  • /details - リテラル文字列/details。あなたはまた、最後にパターンを固定する必要がある場合は

$を追加します。

if re.match(r'/en/\d+/details$') 
          ^
+1

感謝を「?d」を削除し、それが働いた... – Yogi

+1

@Yogiをその後、おそらくあなたは答えを受け入れるべきです...:P。 – Rptk99