PythonのRegExを使用して、要素数が不明な文字列を解析しようとしています。次に例を示します。
>>>> import re
>>>> re.match("\=( A([0-9]+))*", "= A1 A2 A3 A4").groups()[1::2]
('4',)
私は持っていることを期待しています:
('1', '2', '3', '4',)
どうすれば期待どおりの結果を得ることができますか?
編集:
re.findall
私のために動作しません。より良い例を挙げましょう:
次の文字列と一致させたい:
_func(cmd, param1, param2, param3, param4)_
パラメータの数は事前にはわかりません。私は次のコードを使用してそれを解決することを期待していました:
>>> re.match("(\w+)\(cmd(, (\w+))*\)", "func(cmd, param1, param2, param3, param4)")
ただし、グループ()*
は多くのアイテムに展開されず、最後のアイテムのみが使用されるため、これは機能しません。何か案は?