行末の空白の削除
最後に行末の無駄な空白を削除してみましょう。先のサンプルをご覧になって、賢い方はお気づきかと思いますが、直前の文字が1回以上繰り返す文字を示す「+」を使用しますが、行末についてしまった空白が全角スペースなのか、半角スペースなのかは、場面によって異なります。また、タブが挿入されている場合もあるでしょう。
これら複数の文字列を組み合わせるときに使用するのが、「」というメタ文字です。半角角括弧(大括弧)の間に対象となる文字を挿入しますと、それらがマッチする文字として扱われるため、正規表現では多用されるメタ文字です。
つまり、今回のケースのように半角および全角スペース、タブをあらわす場合は「[ □\t]※「□」は全角スペース」と表現することになります。これに直前の文字が1回以上繰り返す文字を示す「+」と、条件を行末に限定するために「$」を加えれば、"行末の無駄な空白を削除する"正規表現の完成となります。
正規表現
検索:[ □\t]+$ ※「□」は全角スペース
置換:なし
Before
1 中原 中也□ ※「□」は全角スペース
2 夏目 漱石 □ ※「□」全角スペース
3 南部 修太郎---- ※----はタブ
After
1 中原 中也
2 夏目 漱石
3 南部 修太郎
ちなみに「[]」に関しては、このほかにも様々な使い方がありますので、また機会を改めてご紹介します。
阿久津良和(Cactus)