我有
var = bRes [8] bRes [9] bRes [10] bRes [11] bRes [12]
与
variable = re.sub(r'[0-9]+', r'[0\g<0>]', vari)
我正在
变量= bRes [08] bRes [09] bRes [010] bRes [011] bRes [012]
但是我想拥有
变量= bRes [08] bRes [09] bRes [10] bRes [11] bRes [12]
有任何建议吗?
答案 0 :(得分:1)
您可以使用
import re
vari = 'bRes[8] bRes[9] bRes[10] bRes[11] bRes[12]'
print(re.sub(r'\[([0-9]+)]', lambda x: "[{}]".format(x.group(1).zfill(2)), vari))
# => bRes[08] bRes[09] bRes[10] bRes[11] bRes[12]
请参见Python demo。
\[([0-9]+)]
模式匹配[
,然后将一个或多个数字捕获到组1中,然后匹配]
,该匹配项以x
的形式传递给lambda表达式,然后使用.zfill(2)
对存储在第1组中的数字子字符串进行后处理,以将零填充单个数字。