2016-04-05 26 views
1

テキストファイルに'%r'%XXXXのようなものがあります。末尾にはXXXXという名前があります。例は'%r'%addRまたは'%r'%removeAです。正規表現'%r'%\w+を使ってこれらのパターンをマッチさせることができます。これを置き換えるのは'{!r}'.format(XXXX)です。私は'{!r}.format(addR)または'{!r}.format(removeA)を得るので、名前は置き換えて同じままでなければならないことに注意してください。正規表現の検索で\w+で取り出した未知の変数名を保持しながら、この方法で一致した文字列の一部を置き換える方法はありますか?一致する文字列の一部を検索して置換する++

私は特にメモ帳++の検索と置換機能を使用して解決策を探しています。上

+0

「%r '%XXXX」は全行ですか?そうでなければ、文脈を記述する。 ''%r'%XXXX'は一行に複数回表示されますか? – Smandoli

+0

キャプチャグループとバックリファレンスが必要です。 –

+0

@Smandoliテキストは行内に配置することができ、一度に複数行にすることができます。 – zephyr

答えて

2

あなたは'%r'%(\w+)パターンがキャプチャグループを作成エスケープ括弧のペアが含まれてい

'%r'%(\w+) 

を使用して'{!r}.format\(\1\)

で置き換えることができます。置換パターン内では、逆参照を\1としてその値を復元します。

:そう、彼らはブースト条件付き置換パターン機能文字として扱われるため、交換()をエスケープする必要があります。

capturing groupsbackreferencesをさらに参照してください。

enter image description here

0

検索:

'%r'%(XXXX) 

と交換してください:

Whatever You like \1 

\1をグループ化括弧の最初のセットと一致します。

関連する問題