Iv'е был у него в течение некоторого времени, я пытаюсь извлечь несколько значений из шаблон строки в многострочном тексте, используя re.findall без везения.Поймать несколько вхождений строк в многострочном тексте
текст:
RX[0]
qpn : 0x48
cqn : 0x80
rxBytes : 179531811
rxPackets : 296242
rxPacketsDropped : 0
rxCheckSumOk : 225257
rxCheckSumNone : 200
RX[1]
qpn : 0x49
cqn : 0x81
rxBytes : 0
rxPackets : 0
rxPacketsDropped : 0
rxCheckSumOk : 0
rxCheckSumNone : 0**
мне нужно извлечь индекс ->RX[index]
и rxPackets : value
если я разделить на разделы, чем я могу использовать -
re.findall('RX\[(\d+)\].*rxPackets\s*:\s*(\d+)', section, re.DOTALL)
но я» m, чтобы сделать это с помощью одного шаблона регулярного выражения. Может ли кто-нибудь помочь мне пролить свет на то, как это сделать?
Я подозреваю, что findall вернет список со всеми экземплярами. Вам нужно только индексировать список, чтобы найти (например.) RxPackets, который вы хотите – jcoppens
, он возвращает список, содержащий 1 элемент, первый индекс и последнее значение rxPackets. – lddmonster