Google应用引擎实体密钥的正则表达式

时间:2013-04-07 15:29:17

标签: python regex google-app-engine

我找到了这篇文章,现在我也想使用那个正则表达式 What characters are allowed in a Google App Engine Key?

然而,在我的处理程序中,我写了类似

的内容
('/xxx/[a-zA-Z0-9-_]', MyHandler)

但是它不起作用...当我尝试访问链接时它说没有找到...我尝试了很多变化但似乎无法实现它...帮助?!

编辑:感谢帮助人员...这样一个愚蠢的错误:)

3 个答案:

答案 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'))

老问题,但我想我会在未来的观点中加上这个。