文字のシーケンスで区切られたテキストのすべての出現をキャプチャする正規表現を構築することは可能ですか?言い換えれば、私は標準的な.split()
方法に相当するものを探しています。
split()
Tornado WebアプリケーションのURLルートの指定に正規表現が使用されているため、使用できません。例えば:
handlers = [
(r'/posts/([0-9a-zA-Z_\-]+)', PostsHandler),
]
このような正規表現は、Tornado、Django、またはルートパターンを実装するその他のWebフレームワーク上に構築されたWebアプリケーションのURLルートを指定するときに役立ちます。特に、長さが不明なURLパスを引数のリストに解析します。
これまでのところ、私は次の正規表現を思い付くことができました。
/^\/posts(?:\/([a-zA-Z0-9_\-]+))+/
残念ながら、式は一致/posts/show/some-slug/15
しますが、。ではなく、最後に一致したグループ(15
)のみを返します['show', 'some-slug', '15']
。
私が望んでいるのは達成することです:
/posts/edit/15/
=>['edit', '15']
/posts/edit/15
=>['edit', '15']
/posts/2010/15/11
=>['2010', '15', '11']