Python 在django url中以正则表达式形式传递电子邮件

Python 在django url中以正则表达式形式传递电子邮件,python,regex,django,django-urls,Python,Regex,Django,Django Urls,我正在尝试将电子邮件作为django URL中的参数传递。我想通过电子邮件,以及正常的字符串和数字也在URL作为参数 url(r"search_connections/(?P<data>[\w.%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4})/$", "search_connections", name="search_connections"), 我希望此URL同时适用于两者。您可以尝试使用(或)和\w+: r'search_connections/(?P

我正在尝试将电子邮件作为django URL中的参数传递。我想通过电子邮件,以及正常的字符串和数字也在URL作为参数

url(r"search_connections/(?P<data>[\w.%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4})/$", "search_connections", name="search_connections"),

我希望此URL同时适用于两者。

您可以尝试使用
(或)和
\w+

r'search_connections/(?P<data>\w+|[\w.%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4})/$'
r'search\u connections/(?P\w+|[\w.%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4})/$'

<> P>但是,我认为电子邮件的ReGEX并不是一个强有力的解决方案来匹配所有有效的电子邮件。

>代码> @ /代码>在URL的路径中是不允许的,许多客户端考虑在<>代码>://< /COD>和<代码> @ /Cord>用户名。\W+破坏电子邮件ErgEX的目的。
r'search_connections/(?P<data>\w+|[\w.%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4})/$'