Удаление шаблона Speci c из строки с использованием регулярного выражения в python - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь удалить шаблон, используя следующий код

x = "mr<u+092d><u+093e><u+0935><u+0941><u+0915>" 
pattern = '[<u+0-9de>]'
re.sub(pattern,'', x)

Вывод

mr

Этот вывод действительно верен для данной строки образца, но когда я запускаю этот код для корпус, он удаляет все вхождения 'de', а также цифры et c. Я хочу, чтобы эти вещи заменялись только при использовании <>.

1 Ответ

1 голос
/ 29 мая 2020

Вам нужно поместить <> снаружи, так как структура всегда будет

  • , начиная с <
  • , за которым следует u\+
  • 4 символа в шестнадцатеричном формате [0-9a-f]{4} согласно определению Unicode
  • заканчиваются >
pattern = '<u\+[0-9a-f]{4}>'
re.sub(pattern,'', x)

REGEX DEMO CODE DEMO

...