想把表达式中的负数形式(-数字)改变成(0-数字)的形式,如:'9*(-2)'变成'9*(0-2)'。目前已经做到匹配到负数形式,并改变成(0-数字),但是只改变了iterator中的形式,怎么使原表达式中的负数形式也改变?
```python
import re
exp='(-7)+1-9+5*(-2)-6/3'
m='(\(-)([0-9]+)(\))'
iterator=re.finditer(m,exp)
for match in iterator:
lr=list(match.group())
lr.insert(1,'0')
s=''.join(lr)
print(s)
如图:

用re.sub()替换啊
你题目的解答代码如下:
import re
exp='(-7)+1-9+5*(-2)-6/3'
m=r'\((-[0-9]+)\)'
exp = re.sub(m,r"(0\1)",exp)
print(exp)
如有帮助,望采纳!谢谢!