我的字符串中将包含()。我需要做的是改变括号内的文字。替换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