Что было бы лучшим способом разделить строку ниже "(x=1, y = 2, z = 3) (a = 1) (m = 4, n = 6, o = 2)"
, чтобы извлечь пары значений ключей в любую форму (список, dict и т. Д.)? Я заинтересован в (х, 1) (у, 2) (г, 3) и т.д ..Python regex based split
Ни один из ниже регулярных выражений (для извлечения данные в круглых скобках)
>>> re.findall('(.+)(.+)(.+)', '(abc)(def)(ghi)')
[('(abc)(def)(gh', 'i', ')')]
>>> re.findall('(.+)(.+)(.*)', '(abc)(def)(ghi)')
[('(abc)(def)(ghi', ')', '')]
>>> re.findall('(.+)(.+)(.+)', '(abc)(def)(ghi)')
[('(abc)(def)(gh', 'i', ')')]
>>> re.findall('(.+)(.+)(.)', '(abc)(def)(ghi)')
[('(abc)(def)(gh', 'i', ')')]
>>> re.findall('(.+)(.+)(...)', '(abc)(def)(ghi)')
[('(abc)(def)(', 'g', 'hi)')]
>>> re.findall(r'(.+)(.+)(...)', '(abc)(def)(ghi)')
[('(abc)(def)(', 'g', 'hi)')]
>>> re.findall(r'(.+)(.+)(.+)', '(abc)(def)(ghi)')
[('(abc)(def)(gh', 'i', ')')]
>>> re.findall(r'(.+)(.+)(.+?)', '(abc)(def)(ghi)')
[('(abc)(def)(gh', 'i', ')')]
>>> re.findall(r'(.*?)(.*?)(.+?)', '(abc)(def)(ghi)')
EDIT: не Извиняюсь за не будучи ясно, группировка также имеет важное значение здесь, как [('x', 1), ('y', 2), ('z', 3)], [('a', 1)], [('m', 4), ('n' 6), ('o', 2)]
Что вы попробовать? Пожалуйста, покажите свой код. – rednaw
- это полный пример? или возможно, что присутствует какой-либо разумный формат отображения x = y? например (x = y, ..) {a = b; ...} – Enermis
Есть ли какая-либо информация в группировках, которые нельзя отбрасывать? – wim