Я пытаюсь удалить экранированный шаблон регулярных выражений, чтобы применить его к строке.Это на самом деле динамично, я точно не знаю, как это будет выглядеть, но на протяжении всего моего тестирования я сталкивался с одной проблемой: строка с экранированным шаблоном регулярных выражений выглядит так:
\\d{4}
Я написал простое регулярное выражениекоторый заменяет каждую комбинацию обратной косой черты и символа просто символом
И я применяю это так:
sub(r"\\(.)", "\\1", escaped_pattern)
Но что это дает мне потомd{4}
не \d{4}
, как я ожидал.
Я пытался использовать необработанные строки для repl, escape \ unescape, он по-прежнему не возвращает того, что я ожидаю.Был бы признателен за любую помощь.
РЕДАКТИРОВАТЬ
escaped_pattern = settings.reg_exp
regexp = sub(r"\\(.)", "\\1", escaped_pattern)
search(regexp, string_to_regexp).group()[0]