【ハウツー】

ゼロからはじめる正規表現 秀丸編 - 行頭に文字列を挿入する

2 行頭に文字列を挿入する

    阿久津良和  [2008/10/15]

    今度は条件付けを用いた置換を行なってみましょう。正規表現の検索文字列を「^1」に変更すると、行頭の先頭文字が「1」となっている文字列のみにマッチするため、2行目の行頭には「・」が追加されていないのが確認できます。「1章」「1節」など異なる見出しがある場合にご活用ください。このとき注意しなければならないのが、置換文字が「・」だけではなく「1」も置換対象となってしまう点。かならず置換文字列も「・01」などマッチさせる文字列を加えてください。

    正規表現

    検索:^1
    置換:・01

    Before

    1 中原 中也
    2 夏目 漱石
    3 南部 修太郎
    

    After

    ・01 中原 中也
    2 夏目 漱石
    3 南部 修太郎
    

    最後にタグ付き正規表現を用いてみましょう。前述のように正規表現はアプリケーションなどによって独自拡張されており、マッチした文字列を一度メモリ内に取り込み、置換文字列などに用いることが可能です。PerlやPHPでは一般的に使われている正規表現機能ですが、秀丸ではタグ付き正規表現として実装されました。

    多くのプログラミング言語では「() (パーレン)」で囲んだ文字列が対象となりますが、秀丸では独自にエスケープシーケンスを拡張し、「\f」で囲んだ文字列が対象となります。下記の例では「行頭から改行を除く任意の1文字、『.』と文字列が続く行」にマッチし、「『第』に続いて『\f』で囲んだ文字列、その後に全角スペース」へと置換されました。

    正規表現

    検索:^\f.\f\.
    置換:第\1□

    ※「□」は全角スペース

    Before

    1.中原 中也
    2.夏目 漱石
    3.南部 修太郎
    

    After

    第1 中原 中也
    第2 夏目 漱石
    第3 南部 修太郎
    

    今回はキャレットの話に従事する予定でしたが、任意の文字にマッチするメタ文字「.(ピリオド)」まで広がってしまいました。任意の文字列にマッチするメタ文字に関する説明は、また機会を改めてご紹介します。

    阿久津良和(Cactus)

    関連サイト

    関連したタグ

    新着記事

    特設サイトの情報

      人気記事

      一覧

      新着記事

      特別企画

      マイナビニュースマガジン