如何重新定义连续数字

时间:2018-01-20 14:00:56

标签: python

num = 0
def regex(m):
    num = num + 1
    return '<iframe src="%s%s%s">' % (m.group(1), '/number/', num)


re.sub('<iframe src="(\w+)">', regex, source)

来源是

<p>hogehogehello<br />aaaa</p><iframe src~~><div><strong><h1>aa</h1></strong></div><iframe~~~><iframe~~~><h2>aaaaaa</h2><iframe~~~>

结果

UnboundLocalError: local variable 'num' referenced before assignment

理想

<iframe src="https://youtube.com/hogehgoe/number/1">
<iframe src="https://youtube.com/hogehgoe/number/2">
<iframe src="https://youtube.com/hogehgoe/number/3">
<iframe src="https://youtube.com/hogehgoe/number/4">
<iframe src="https://youtube.com/hogehgoe/number/5">

源理想是

<p>hogehogehello<br />aaaa</p>
<iframe src~~/1><div><strong><h1>aa</h1></strong></div>
<iframe~~~/2>
<iframe~~~/3><h2>aaaaaa</h2>
<iframe~~~/4>

如果可能,我不想使用finditer。我想用尽可能短的代码完成。

我尝试过使用global num。但错误语法错误:名称'bum'在全局声明之前被分配。

0 个答案:

没有答案