简单Python子

简单Python子,python,Python,我有以下代码: import re Temp = "C4" Num = 5 Temp = re.sub(r'(\w)\d',r'\1%s'%Num, Temp) print Temp 我得到以下错误: PS C:\...> .\try.py Traceback (most recent call last): File "C:\...\try.py", line 10, in <module> Temp = re.sub(r'(\w)\d',r'\1%s'%

我有以下代码:

import re  

Temp = "C4"
Num = 5
Temp = re.sub(r'(\w)\d',r'\1%s'%Num, Temp)
print Temp
我得到以下错误:

PS C:\...> .\try.py
Traceback (most recent call last):
  File "C:\...\try.py", line 10, in <module>
    Temp = re.sub(r'(\w)\d',r'\1%s'%Num, Temp)
  File "C:\Python27\lib\re.py", line 151, in sub
    return _compile(pattern, flags).sub(repl, string, count)
  File "C:\Python27\lib\re.py", line 275, in filter
    return sre_parse.expand_template(template, match)
  File "C:\Python27\lib\sre_parse.py", line 802, in expand_template
    raise error, "invalid group reference"
sre_constants.error: invalid group reference
PS C:\…>。\try.py
回溯(最近一次呼叫最后一次):
文件“C:\…\try.py”,第10行,在
Temp=re.sub(r'(\w)\d',r'\1%s'%Num,Temp)
文件“C:\Python27\lib\re.py”,第151行,子文件
return\u compile(模式、标志).sub(repl、字符串、计数)
过滤器中第275行的文件“C:\Python27\lib\re.py”
返回sre_parse.expand_模板(模板,匹配)
文件“C:\Python27\lib\sre\u parse.py”,第802行,在展开模板中
引发错误,“无效的组引用”
sre_constants.error:无效的组引用

我做错了什么

r'\1%s'%Num
变成了
r'\15
的等价物,因此这实际上是在寻找显然不存在的组#15。若要解决此问题,请将替换中的
\1
替换为
\g
,这样它就不会受到以下任何数字的影响:

Temp = re.sub(r'(\w)\d',r'\g<1>%s'%Num, Temp)

谢谢F.J!这就解决了问题。我花了好几个小时想弄明白。
Temp = '%s%s' % (re.sub(r'(\w)\d', r'\1', Temp), Num)