行末の空白の削除

最後に行末の無駄な空白を削除してみましょう。先のサンプルをご覧になって、賢い方はお気づきかと思いますが、直前の文字が1回以上繰り返す文字を示す「+」を使用しますが、行末についてしまった空白が全角スペースなのか、半角スペースなのかは、場面によって異なります。また、タブが挿入されている場合もあるでしょう。

これら複数の文字列を組み合わせるときに使用するのが、「」というメタ文字です。半角角括弧(大括弧)の間に対象となる文字を挿入しますと、それらがマッチする文字として扱われるため、正規表現では多用されるメタ文字です。

つまり、今回のケースのように半角および全角スペース、タブをあらわす場合は「[ □\t]※「□」は全角スペース」と表現することになります。これに直前の文字が1回以上繰り返す文字を示す「+」と、条件を行末に限定するために「$」を加えれば、"行末の無駄な空白を削除する"正規表現の完成となります。

正規表現

検索:[ □\t]+$ ※「□」は全角スペース
置換:なし

Before


1 中原 中也□        ※「□」は全角スペース
2 夏目 漱石 □       ※「□」全角スペース
3 南部 修太郎----    ※----はタブ

After


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

ちなみに「[]」に関しては、このほかにも様々な使い方がありますので、また機会を改めてご紹介します。

阿久津良和(Cactus)