如何Sub使用re.sub
一組?應用re.sub組值
我希望它覆蓋3
與另一個值
電流:
XYZ.Value = 3
;後:
XYZ.Value = 5
;
現在我的個子看起來是這樣的:
name = XYZ
value = 5
content = XYZ.Value = 5
re.sub(r'(%s\.Value\s*=\s*)([^;]+)' %name, r'\1 ' + value, content)
這是行不通的,因爲它使覆蓋在值後添加一個額外的空格' '
:
XYZ.Value = 5;
< --- 2空格,而不是1
我也使用分組\g<2>
re.sub(r'(%s\.Value\s*=\s*)([^;]+)' %name, r'\1\g<2>' + value, content)
但隨後則持續增加對現有的價值,而不覆蓋它試圖:
輸出:
XYZ.Value = 3
也許,'應用re.sub(R'(%S \ .value的\ S * = \ S *)([^] +)」%名,R '\克<1>' +值,內容)'會做什麼?您已經將'3'前面的所有空格都捕獲到組1中。 –