我正在尝试将电子邮件作为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/"
我希望此网址适用于两者。
答案 0 :(得分:0)
您可以尝试将|
(或)与\w+
:
r'search_connections/(?P<data>\w+|[\w.%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4})/$'
但是,我认为电子邮件的正则表达式并不是一个强大的解决方案,可以匹配所有有效的电子邮件。