我找到了这篇文章,现在我也想使用那个正则表达式 What characters are allowed in a Google App Engine Key?
然而,在我的处理程序中,我写了类似
的内容('/xxx/[a-zA-Z0-9-_]', MyHandler)
但是它不起作用...当我尝试访问链接时它说没有找到...我尝试了很多变化但似乎无法实现它...帮助?!
编辑:感谢帮助人员...这样一个愚蠢的错误:)答案 0 :(得分:3)
您的处理程序目前只允许一个字符。另外,为了安全起见,破折号应始终位于字符类的末尾,以免它指定范围:
('/xxx/[a-zA-Z0-9_-]*', MyHandler)
答案 1 :(得分:3)
您的正则表达式仅匹配/xxx/
部分之后的一个字符。您需要通过添加+
乘数来指定1 或更多:
('/xxx/[a-zA-Z0-9-_]+', MyHandler)
现在,您的表达式匹配至少 1个字符的所有内容,而不仅仅是1而不是其他内容。
答案 2 :(得分:1)
键也可以只有500个字节,所以我使用以下
pattern = re.compile('^[0-9A-Za-z._-]{1,500}$')
valid = bool(pattern.match('key-name-to-test'))
老问题,但我想我会在未来的观点中加上这个。