我的字符串中將包含()。我需要做的是改變括號內的文字。替換Python中的()之間的文本
示例字符串:"B.TECH(CS,IT)"
。 在我的字符串,我需要出現在括號內的內容更改爲這樣的事情.. B.TECH(ECE,EEE)
我試圖解決這個問題如下..
reg = r'(()([\s\S]*?)())'
a = 'B.TECH(CS,IT)'
re.sub(reg,"(ECE,EEE)",a)
但我得到的輸出喜歡這個..
'(ECE,EEE)B(ECE,EEE).(ECE,EEE)T(ECE,EEE)E(ECE,EEE)C(ECE,EEE)H(ECE,EEE)((ECE,EEE)C(ECE,EEE)S(ECE,EEE),(ECE,EEE)I(ECE,EEE)T(ECE,EEE))(ECE,EEE)'
有效輸出應該是這樣..
B.TECH(CS,IT)
我在哪裏丟失以及如何正確替換文本。
嘗試轉義()你想要他們作爲文字標記。例如:'\(([\ s \ S] *)\)'。 '('和')'是分組字符,所以你需要明確地說它們的意思是字面標記而不是正則表達式操作符。 – rubenwardy
您是否嘗試過regex101.com或其他人?它會顯示你的執行結果,並「解釋」你的正則魔法。你應該逃避你的()字符,所以它會從組中告訴它 – sudo97