У меня есть следующее регулярное выражение, которое позволяет мне анализировать проценты, такие как «20% +», «20%» или «20% - 50%» с использованием re.split.
'([0-9]{1,3}[%])([+-]?)'
Я хочу использовать форматирование строки для передачи идентификаторов серий (например, «+ -») в качестве аргумента из config.py.
SERIES = '+-'
Два метода, которые я пробовал, привели к ошибкам. При форматировании в новом стиле возникает следующая ошибка (из-за использования {m, n}):
>>> import config
>>> regex = '([0-9]{1,3}[%])([{0}]?)'.format(config.SERIES)
KeyError: '1,3'
У форматирования в старом стиле есть свои проблемы (из-за символа '%'):
>>> import config
>>> regex = '([0-9]{1,3}[%])([%s]?)' % (config.SERIES)
unsupported format character ']' (0x5d) at index 14
Я не был может заставить escape-символы работать внутри регулярного выражения. Есть идеи, как это сделать?
Спасибо,
Майк