私の文字列には()が入ります。私がする必要があるのは、かっこの間のテキストを変更することです。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などを試しましたか?それはあなたにexectの結果を示し、あなたのregex-magicの呪文も '説明します'。あなたはあなたの()文字をエスケープする必要があるので、それはグループからそれを伝えます – sudo97