我有以下正则表达式,它允许我使用 re.split 解析“20%+”、“20%”或“20% - 50%”等百分比。
'([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
我无法让转义字符在正则表达式中工作。关于如何做到这一点有什么想法吗?
Thanks,
Mike
您可以使用%%
使用旧式格式插入百分号:
'([0-9]{1,3}[%%])([%s]?)' % (config.SERIES)
类似地,对于新式格式,将大括号加双:
'([0-9]{{1,3}}[%])([{0}]?)'.format(config.SERIES)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)