@ElefanObi

Как записать регулярное выражение в файл json и прочитать его без потери префикса r?

Мне надо сохранить регулярное выражение типа
rg = r"expression"
в файл json. "expression" - любое регулярное выражение. Выражения обязательно должны добавляться в список.
Сейчас я использую json.dump(expression_list, file). В результате получается
{"rg_list": ["expression"]}
Задача такая: прочитать выражение из списка, вложенного в json так, чтобы прочитанное выражение начиналось с префикса r. Как это сделать правильно и какие еще подводные камни надо предусмотреть?
  • Вопрос задан
  • 865 просмотров
Решения вопроса 1
kshnkvn
@kshnkvn
yay ✌️ t.me/kshnkvn
Никак. В JSON все строки обязательно должны быть в двойных кавычках. Да и в этом не особо много смысла, что вам мешает в нужном месте в Python использовать примерно так:
pattern = re.compile(r'{}'.format(json['pattern']))
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
DDDsa
@DDDsa
Подождите, префикс r — это просто синтаксический сахар, а не какой-то особый тип строки. r'abc' для интерпретатора — это не "r-строка", а просто указание заэкранировать все спец-символы и сочетания символов и вернуть результат в виде обычной строки. Которую можно сохранять в JSON, загружать из JSON'а без потерь.

То есть, если мы пишем r'a\nb\tc' — это то же самое, если бы мы написали 'a\\nb\\tc'

Другими словами, вам достаточно только сохранить данные в JSON с указанием префикса r. После этого их можно загружать обратно из JSON'а с полной уверенностью, что вы ничего не потеряете
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы