[正規表現] 行頭から指定位置に文字を挿入する

Mac のテキストエディタとしては Sublime Text を使っている。シンプルなルックスでなにげにパワフルなアプリなので気に入っている。

特に好きなのが未保存のファイルを Ctrl + q でアプリを終了した時、ファイルの保存を聞かれないことだ。そして再度 Sublime Text を起動すると、前回の未保存のファイルが復元される。ちょっとしたメモなどを書いておける。バッファースペースとしても使えるアプリなのだ。

さて、テキストに対して、行頭から指定位置に文字を挿入した状況になった。例えば3文字目と4文字目の間に – を挿入する以下のような状況だ。

挿入前:12345
挿入後:123-45

正規表現を使う方法で以下のサイトに答えが書いてあった。

2-17 指定位置に文字を挿入
http://www.geocities.jp/oraclesqlpuzzle/regex/regex-2-17.html

このサイトでは「置換」と説明されているが、作業は「X文字目の後に挿入」というほうがイメージしやすい。

Sublime Text では Option + Command + f で置換オプションを開くことができるので、Regular expression(正規表現)ボタンをオンにした上で以下の置換をすれば、挿入が行える。

置換前:(?<=^.{3})(?=.)
置換後:-