0

#文字列があり、Python で正規表現置換を使用して、文字の後と文字の前にある括弧内の数字.(以下の例では 3) と中のテキストを除いて、中括弧の内容を削除します。丸括弧はすべて文字で構成されています。(下の例では「情報」)

最初の問題を解決するためにこれをまとめましたが、うまくいきません (私は正規表現の初心者です)。

string = 'Name, Other "Else" (2000) (info) {empty (#3.99)}'

r= re.sub(r'(^?={))?\{.+\(#(\d+)\.\d+\)\}','',string)
print r

理想的な出力は次のようになります。

Name, Other "Else" (2000) (3)

どんな助けでも大歓迎です

4

1 に答える 1

2

これを試して:

re.sub(r'\(\d*\D+\d*\)\s+','',re.sub(r'\{.+?\#(\d+)\.\d+\)}',r'(\1)',s))

これが行うことは、中かっこ内の数字と一致し、キャプチャ (大かっこ内の部分) を使用して目的の文字列を取得することです。

補足: 「string」モジュールと競合する可能性があるため、string を変数の名前として使用しないことをお勧めします。

于 2013-06-25T15:51:43.617 に答える