Я пытаюсь получить согл, Accel и рецептурного снизу текста, только если учет значения верно.Попытки извлечь значения из текста -
dataRx: 21916 drx: 1743625
ota: 191791 orx: 74164489
dataDropped: 14 dropped:1134
id: 65535 waitress BE nginxid: 0 kbps: 0.000
accounting: false
drop : 1
rx : 48392 bytes: 483920
id: 65533 waitress BE nginxid: 1 kbps: 0.000
accounting: false
drop : 4
rx : 122914 bytes: 70081939
id: 4232 nginx BE nginxid: 3 kbps: 0.000
accounting: false
drop : 0
rx : 3084 bytes: 94357
id: 10482 server BE nginxid: 4 kbps: 0.000
accounting: false
drop : 0
rx : 15 bytes: 2477
id: 20344 serve BE nginxid: 10 kbps: 62914.560
accounting: true
drop : 2
rx : 2217 bytes: 309637
accel : 482 bytes: 264318
acc :349 bytes: 225181
Ниже питона кода получает учета значения и Accel с использованием регулярных выражений ниже
accounting:\s*((?P<accounting>\S*)[\S\s]*?accel:[\S\s]*?bytes:\s*(?P<accel>\S*)[\S\s]*?)
for match in re.finditer(re_exp, text):
group = match.groupdict()
print group
Выход:
{"accounting": false, "accel": 264318}
Но, ожидаемый результат должен быть
{"accounting": true, "accel": 264318}
Нужна помощь с выражением регулярных выражений. Любая помощь будет принята с благодарностью. Кроме того, существует ли способ регулярного выражения для группировки всех полей данных под id?
Благодаря