У меня есть файл XML, сохраненный как текстовый файл. Я пытаюсь извлечь из него данные, чтобы отобразить его с помощью Python. - PullRequest
2 голосов
/ 09 мая 2019

Данные в этом формате "25,91 У меня есть несколько строк таким образом

Я пытаюсь извлечь числовые данные 25.91. 25,91

Я пытался написать код для этого, но что-то просто не складывается.

import re
myfile = open("BOMR1_.txt")
for line in myfile:
    line=line.rstrip()
    StartMP = re.findall(r'^xml.*<FROM>([0-9.]+)', line)
    if len(StartMP)> 0:
        Print (StartMP)

Я хотел бы просмотреть данные как Startmp = 25,91 и т. Д.

1 Ответ

0 голосов
/ 09 мая 2019

Не рекомендуется использовать регулярные выражения для анализа иерархических форматов данных, таких как XML. См. эту фантастическую статью по этому вопросу для получения дополнительной информации о том, почему процессоры регулярных выражений сами по себе не являются синтаксическими анализаторами.

Ключевой отрывок из этой статьи гласит:

Регулярные выражения не являются парсерами. Хотя вы можете сделать некоторые удивительные вещи с регулярными выражениями, они слабо сбалансированы соответствия. Некоторые варианты регулярных выражений имеют сбалансированное соответствие, но это явно взломать - и противный. Вы часто можете сделать это своего рода Сорта работа, как у меня в рутине дезинфекции. Но неважно, насколько умный твой regex, не вводите себя в заблуждение: это ни в коей мере замена для реального живого парсера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...