2

キャプチャされたグループを肯定的な後読みと組み合わせるにはどうすればよいですか?

次の例に一致させたい:

DS
DS,x=y
一部の DS、キー = 値
一部の DS テスト、key=value&key2=value2
一部の DS テスト、key=value&key2=value2|key3=value3

コンマ以外のすべてに一致する次の正規表現を思いつきました。

^(?P<ds_title>[\w \|\-\=\&æøåÆØÅ]+)(?P<filters>[\w \|\-\=\&æøåÆØÅ]+)?$

挿入する必要がある正規表現は次のとおりであることがわかりました。

(?<=\,)

しかし、挿入する場所がわかりません。どこに挿しても壊れそうです。これを正しく行う方法を知っている人はいますか?

4

1 に答える 1

0

これ考えすぎじゃない?

^(?P<ds_title>[^,]+)(?:,(?P<filters>.+))?$

リストに制限するのではなく、任意の文字列を許可しないのはなぜですか?


実際、なぜ正規表現を使用するのでしょうか?

parts = data.split(',', 2)
if len(parts) == 1:
    title, = parts
else:
    title, filters = parts
于 2012-12-29T14:56:29.770 に答える