我有一个字符串:
property1=1234, property2=102.201.333, property3=abc
我想捕获 1234 和 102.201.333。我正在尝试使用正则表达式:
property1=([^,]*)|property2=([^,]*)
但它只设法捕获其中一个值。基于此链接,我还尝试了:
((?: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