技術とか戦略とか

IT技術者が技術や戦略について書くブログです。

サクラエディタ:置換で使える参照機能

テストで使う機会があったのでメモ。

サクラエディタ正規表現を用いた置換では、ヒットした文字列を置換後で参照することが可能です。
「$&」で、ヒットした文字列全体を参照します。
また、置換前の文字列の指定で「()」で囲った部分については、「${1}」で参照できます。
「()」で囲った部分が複数存在する場合は、2つ目の「()」は「${2}」、3つ目の「()」は「${3}」…といった形で参照できます。

すみません、日本語が不自由なのでわかりやすく説明できません。
下の例を見た方が理解が早いと思います。

【例1】
・置換前の文字列
hogefugapiyo

・置換の指定
置換前….{4}
置換後…$&\r\n

・置換後の文字列
hoge
fuga
piyo

・解説
「.{4}」は任意の文字の4回の繰り返しを示す。
置換前の文字列では、「hoge」「fuga」「piyo」がヒットする。
ヒットした文字列は「$&」に代入される。
結果として、4文字ずつ改行コード(\r\n)が付加される形で置換される。

【例2】
・置換前の文字列
hoge,fuga,piyo

・置換の指定
置換前…(.+),(.+),(.+)
置換後…${2},${3},${1}

・置換後の文字列
fuga,piyo,hoge

・解説
「.+」は任意の文字の1回以上の繰り返しを示す。
1つ目の「(.+)」は「${1}」、2つ目の「(.+)」は「${2}」、3つ目の「(.+)」は「${3}」で参照できる。
「(.+)」は今回の例ではカンマで区切っているため、カンマ区切りで1つ目の項目は「${1}」、2つ目の項目は「${2}」、3つ目の項目は「${3}」で参照できる。
置換後の文字列では、カンマ区切りで「${2}」「${3}」「${1}」の順番で指定しているため、結果として各項目を左に一つずつずらした形で置換される。