Я пытаюсь проанализировать унифицированный diff-файл, используя pyparsing в качестве упражнения, и я не могу что-то сделать правильно.Вот часть моего файла различий, которая доставляет мне неприятности:
(... some stuff over...)
banana
+apple
orange
Первая строка начинается с "", затем "банан".У меня есть следующее выражение для разбора строки:
linestart = Literal(" ") | Literal("+") | Literal("-")
line = linestart.leaveWhitespace() + restOfLine
Это работает при разборе одной строки, но когда я пытаюсь проанализировать весь файл, инструкция "exitWhitespace" заставляет парсер запускаться в концепоследняя строкаВ моем примере, после разбора «banana», следующим символом является «\ n» (из-за поля leftWhitespace), и анализатор пытается сопоставить «» или «+» или «-» и выдает ошибку.* Как я могу справиться с этим правильно?