私はこのような文字列があります。hereが説明したように、私は簡単に文字列の外側の括弧間のすべてのテキストを削除するにはどうすればよいですか?
# returns 'stuff'
res1 = re.sub(r'\([^)]*\)', '', s1)
を使用中に括弧やテキストを削除することができ
s1 = 'stuff(remove_me)'
を。
しかし、私は時々、このようなネストされた表現に遭遇:
s2 = 'stuff(remove(me))'
私は上からコマンドを実行すると、私は、私も試してみました
'stuff)'
で終わる:
re.sub('\(.*?\)', '', s2)
を私には同じ出力が得られます。
外側のかっこ内のすべて(括弧自体を含む)を削除するにはどうすればいいですか?'stuff'
(これは任意の複雑な式にも有効です)にもなりますか? 、あなたは括弧が最初にバランスがとれていることが確実な場合
>>> re.sub(r'\(.*\)', '', 'stuff(remove(me))')
'stuff'
チェックを参照してください。 //stackoverflow.com/a/14598135/3832970)。 –
@WiktorStribiżew:ありがとう!しかし、それは入れ子になっていない表現についてです。そして、多くのif-else節とfor-loopを必要としないものが存在することは確かです。 – Cleb
あなたが必要とする正規表現はこの[answer](http://stackoverflow.com/a/12280660/3832970)に含まれていますが、PyPi regexモジュールが必要です。 –