У меня есть файл JSON, который содержит некоторые выражения регулярных выражений, которые я хочу использовать в своем коде Python.
Проблема возникает, когда я пытаюсь экранировать зарезервированные символы регулярных выражений в файле JSON.
Когда я запускаю код на python, он не может обработать файл json и выдает исключение.
Я уже отладил код и пришел к выводу, что он не работает при вызове json.loads(ruleFile.read())
. Очевидно, в JSON можно экранировать только некоторые символы, и точка не является одним из них, что вызывает синтаксическую ошибку.
try:
with open(args.rules, "r") as ruleFile:
rules = json.loads(ruleFile.read())
for rule in rules:
rules[rule] = re.compile(rules[rule])
except (IOError, ValueError) as e:
raise Exception("Error reading rules file")
{
"Rule 1": "www\.[a-z]{3,10}\.com"
}
Traceback (most recent call last):
File "foo.py", line 375, in <module>
main()
File "foo.py", line 67, in main
raise Exception("Error reading rules file")
Exception: Error reading rules file
Как мне обойти эту проблему синтаксиса JSON?