在django url中将电子邮件作为正则表达式传递

时间:2015-04-20 05:53:03

标签: 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"),

它适用于电子邮件作为参数。但对于像“abc”这样的普通字符串,它不起作用:

working for "/search_connections/abc@test.com/"
not working for "/search_connections/abc/"

我希望此网址适用于两者。

1 个答案:

答案 0 :(得分:0)

您可以尝试将|(或)与\w+

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

但是,我认为电子邮件的正则表达式并不是一个强大的解决方案,可以匹配所有有效的电子邮件。