【发布时间】:2015-08-08 12:53:27
【问题描述】:
我在 Django 中使用这个 url 来处理用户名正则表达式已经有一段时间了:
url(r'^.../(?P<username>[-\w]+)/$'
但现在,我遇到了一个奇怪的案例,有时 Google 会用这样的用户名回答:
luke.skywalker 而不是 lukeskywalker
而且看起来我的正则表达式不接受点 - 我收到 NoReverseMatcherror。有人可以帮我正确的正则表达式吗?
【问题讨论】:
-
试试:
[a-zA-Z.]+,你可能要检查第一个答案here -
请注意,google 的非标准行为是 luke.skywalker@gmail.com 和 lukeskywalker@gmail.com 实际上是同一个电子邮件地址。你的问题是你没有匹配它们(丹尼尔罗斯曼的答案应该处理并且还得到Gocht的评论答案不会的破折号/下划线/数字),或者你还需要“规范化”事情以便luke.skywalker和 lukeskywalker 被视为相同的用户名?[我实际上更喜欢替代方法,这样我可以从同一个电子邮件地址创建相对大量的测试帐户,但我可以看到正常情况可能会被激怒]
-
@Foon 感谢您的信息。我正在使用 Python Social Auth 进行记录(以防有人发现这很有用)。
标签: regex django django-urls