GAE URLにハイフンが含まれているとエラー

GAE URLにハイフンが含まれているとエラー


 GAEで作ったアプリケーションで、URLに「-」が含まれているとエラーが発生。
 なんでかな、と調べまくってみたら、WSGIApplicationの振り分けで指定する正規表現が間違っていた。つまり、私が間違えていた。
 ちなみにURLは、/imgs/<DataStoreのKey値> を想定している。
修正前:

    application = webapp.WSGIApplication([('/', MainPage),

                                          ('/imgs/(\w+)', OutputFile),

 ・・・

修正後

    application = webapp.WSGIApplication([('/', MainPage),

                                          ('/imgs/([\w\-]+)', OutputFile),.

 ・・・

 DataStoreが自動生成するKeyにはハイフン「-」が含まれることがあり、修正前の「\w+」では、ハイフンが含まれた文字列にマッチできないのだ。\wの部分を[\w\-」とすることで、希望の動作をさせることができた。
 今回のことで、私はいろんなことがわかっていないが、正規表現のこともわかっていないんだな、ということがわかった。精進したい。