私は文字列を持っています:
property1=1234, property2=102.201.333, property3=abc
1234 と 102.201.333 をキャプチャしたい。私は正規表現を使用しようとしています:
property1=([^,]*)|property2=([^,]*)
しかし、値の 1 つしかキャプチャできません。このリンクに基づいて、私も試しました:
((?:property1=([^,]*)|property2=([^,])+)
(?:(property1=([^,]*)|property2=([^,])+)
彼らは私が理解できないどこかから余分なグループをキャプチャします.
私は何が欠けていますか?
PS私はre.search()を使用しています。
編集:呼び出しコードに何か問題がある可能性があります:
m = re.search('property1=([^,]*)|property2=([^,]*)', text);
print m.groups()
Edit2: propertyX である必要はありません。それは何でもかまいません:
foo1=123, bar=101.2.3, foobar=abc
平
foo1=123, bar=weirdbar[345], foobar=abc