web-dev-qa-db-ja.com

Notepad ++で同じ式に置き換える

1つのタブで区切られた2列の数値を含むテキストファイルがあるとします。

23  45
456 872
1569    489
78  357
789 94

列の間にタブを追加できるようにしたいと思います。わかりやすくするために、これらの列が大量のテキストで囲まれているとします。

私の検索式は次のようになります:[0-9]\t [0-9]

失わないように、置換式をどのようにフォーマットしますか?

最初の列の36 9 8 9

2列目の48 4 3 9

または、より一般的には、テキストの正しい領域を識別するために必要な検索式の一部を変更しないようにするにはどうすればよいですか?

[0-9]\t\t [0-9]を置換式として使用すると、次のようになります。

2[0-9]      [0-9]5
45[0-9]     [0-9]72
156[0-9]        [0-9]89
7[0-9]      [0-9]57
78[0-9]     [0-9]4

(もちろん、検索モードを「正規表現」に設定しています。)

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

5
user42669

Notepad ++を使用すると、検索正規表現でキャプチャグループを使用して、置換でそれらを参照できます。

したがって、検索語([0-9])\t([0-9])を使用します。括弧は、Notepad ++に、正規表現のその部分に一致するテキストの部分(この場合は、タブの前後の数字)を「キャプチャ」するように指示します。

置換式で、次のようにそれらのキャプチャグループを参照します:\1\t\t\2\1および\2は、1番目と2番目のキャプチャグループを参照します。

16
jcrawfordor