У меня есть дамп json следующим образом:
{
"field1": "1234b077-fb81-4d5b-adf3-123cdb1b56cf",
"field2": "111aa3f8-1cc3-4a75-9ad6-912a1d40781b",
"field3": "c2b75f2d-85ef-4c7c-a111-5d2a41442dc3",
"field4": "262d6922-53cf-4f9d-93b7-d6bae8711192"
}
И регулярное выражение [0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}
Я хочу отобразить все совпадения (фактически сопоставляются все значения поля) со следующимКод Python
import re
regex = r'[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}'
j = """{
"field1": "1234b077-fb81-4d5b-adf3-123cdb1b56cf",
"field2": "111aa3f8-1cc3-4a75-9ad6-912a1d40781b",
"field3": "c2b75f2d-85ef-4c7c-a111-5d2a41442dc3",
"field4": "262d6922-53cf-4f9d-93b7-d6bae8711192"
}"""
re.search(regex, j)
При выполнении он только дает мне значение field1
<re.Match object; span=(24, 60), match='1234b077-fb81-4d5b-adf3-123cdb1b56cf'>
Я не знаю, пропустил ли я что-нибудь, чтобы напечатать все.
[ Обновлено ] re.findall()
не дает ожидаемого результата.
pattern = re.compile(regex)
re.findall(pattern, j)
Результат не ожидается, это что-то вроде этого
['adf3-', '9ad6-', 'a337-', '93b7-']