はじめに
正規表現を初めて使う方を対象に、具体的な検索と置換のサンプルを示しつつ、正規表現を解説します。
正規表現は、実行環境によって多少文法が異なりますが、本連載ではEmEditorの正規表現を使って解説していきます。EmEditorの正規表現の文法は、『EmEditor 使い方: 正規表現構文』を参照してください(Perl準拠です)。
第2回となる本稿では、難しいメタ文字について解説します。
対象読者
- 正規表現をはじめて使う方
- 『詳説 正規表現』を、まだ読んだことがない方
必要な環境
EmEditor Professional Version 6.00.4で動作確認しました。その他、プログラム言語やSQL、テキストエディタなどでも応用できます。
EmEditorでの正規表現を使う検索の仕方については、第1回を参照してください。
1. 最小マッチ
量指定子の直後に使用し、マッチ回数が最も少ないマッチを優先するようにします。メタ文字は?
です。ものぐさマッチ、控えめなマッチ、欲張りでないマッチとも呼ばれます。
量指定子で、最小マッチを指定しない正規表現と、最小マッチを指定した正規表現の、検索結果を比較してみましょう。
aabbcc aabbaabbcc bb
^[ab]*[bc]
^[ab]*?[bc]
^[ab]+[bc]
^[ab]+?[bc]
^[ab]?[bc]
^[ab]??[bc]
量指定子(範囲指定繰り返し制御)で、最小マッチを指定した正規表現と、最小マッチを指定しない正規表現の、検索結果を比較してみましょう。
aabbcc aabbaabbcc aabc aaaab bb
^[ab]{2,}[bc]
^[ab]{2,}?[bc]
^[ab]{2,4}[bc]
^[ab]{2,4}?[bc]