現在、静的テキストと変数値(中括弧で囲まれています)を含むテキスト処理スクリプトを作成しています。中括弧で囲まれた改行文字を削除します
Some text\nwith a {variable\n} value"
に:さらに下処理で
Some text\nwith a {variable} value"
私はすでにやっている私は、彼らが中括弧の間に表示された場合にのみ改行文字を取り除くことができるようにする必要がありますこの:
re.sub(r'\{.*?\}', '(.*)', text, flags=re.MULTILINE|re.DOTALL)
しかし、私はどのようにわかりません中括弧で囲まれた文字列ではなく改行文字だけを対象とします。
Some text\nwith a {variable\n\n\n} value"
あなたはre.sub
にラムダにマッチオブジェクトを渡すと{...}
内のすべての改行を置き換えることはPython 3.xの
置換パターンには、特別な置換構文とリテラルのみを含めることができます。 –
アサーションを使用して、空の文字列 ''''で置換するか、置換文字列をグループ化し、置換文字列の後部参照を使用するか –