URL正規表現で電子メールアドレスと末尾にスラッシュを一致させることができません。期待、これはことを考えると、私は/?
を追加することは働くだろうと思っているだろう/customer/[email protected]
と一致し、ない/customer/[email protected]/
url正規表現の電子メールアドレスの後ろにスラッシュを付けることができません
として
r'^customer/(?P<customer_email>[\w.%+-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,63}$)$'
:ここには最後のスラッシュとメールアドレスと一致する正規表現です電子メールアドレスのドメインサフィックスに一致する正規表現は、スラッシュに貪欲に一致してはなりません。 (これは、他の重複した正規表現の末尾のスラッシュの質問の多くに対する解決策でした)。予想通り
r'^customer/(?P<customer_email>[\w.%+-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,63}$)/?$'
、これは/customer/[email protected]
と一致しますが、予想外にそれは/customer/[email protected]/
と一致していません。 なぜですか?
APPEND_SLASH
settings.py
が設定されていません。 customer_email
urlパラメータの一部としてスラッシュをキャプチャしたくありません。
'$'では、文字列の末尾が必要です。最初の '$'を削除してください。 https://regex101.com/r/wQ3x4N/1 –
をご覧ください。ありがとうございました。私は、それがURLパラメータキャプチャグループの終わりにも必要であるという誤った印象を持っていました。それを回答として投稿すれば、私はそれを受け入れるでしょう。 – Escher