Удалить совпадения регулярных выражений из файла в Python?

У меня есть svg с такими строками:

Я хочу удалить M, где числа после M соответствуют числам после L перед ним. У меня есть это регулярное выражение, которое, кажется, работает: https://regex101.com/r/UG2VHo/6

Однако, когда я пытаюсь удалить все эти экземпляры с помощью модуля регулярных выражений python, напечатанная строка по-прежнему включает те, которые соответствуют Ms.

import regex

with open('test-mjlr.svg','r') as svg:
    data = svg.read()
    r = regex.sub('L([0-9]+,[0-9]+) \KM\1','',data,flags = regex.M)
print r

Как я могу это сделать?

Я не могу заставить \ K работать с Python. Также я видел, что \ K поддерживается в модели регулярного выражения? stackoverflow.com/questions/39664058/…

BigBoy1337 23.03.2018 23:30

Вы ведь используете модуль регулярных выражений PyPi, верно? Тогда обман правильный, вам нужно использовать необработанный строковый литерал. См. rextester.com/ADXNYX34774

Wiktor Stribiżew 23.03.2018 23:36

Кажется, \ K означает буквальное "K" в регулярном выражении Python. regex101.com/r/UG2VHo/7

Thm Lee 24.03.2018 00:55

Вы можете попробовать это регулярное выражение для того же эффекта. 'L (\ d *, \ d *) \ b M \ 1' и замените совпадение на 'L \ 1' regex101.com/r/UG2VHo/8

Thm Lee 24.03.2018 01:26
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
4
28
0

Другие вопросы по теме