正規表現(Regular expression)とは何か
ワードやメモ帳に検索や置換機能が搭載されていることをご存じでしょうか。文章中から特定の文字列を検索して表示したり、検索した文字列をほかの文字列に置き換えたるすることが可能です。
正規表現とは、そのような検索、置換機能をより強力にしたような技術のことを言います。単純な検索や置換と違い、”メタ文字”とよばれる記号群を使用することにより、複雑な条件を設定して文章を拾えるため、作業を効率化することができます。
正規表現は特定のツールやプログラミング言語ではなく、各種ソフトウェアやサーチ・エンジンに組み込まれ利用されています。規格化がされていないため、各ソフトごとに使用方法の違いがありますが、基本的な操作方法はおなじため、一つの操作方法を覚えればほかのソフトでも応用が利きます。
正規表現ときいても、検索のための技術であると想像できる人は少ないでしょう。これは、英語のRegular expressionをそのまま日本語に直訳したためです。英語のRegularには”規則性”という意味があり、メタ文字により条件を入力すれば常に決まった結果を返すことに起因しています。
メタ文字とは何か
正規表現を使用する上で欠かせない要素が”メタ文字(meta character)”です。正規表現では”^”や”?”などの記号に特別な意味を持たせて使用しています。たとえば”^”なら行頭を指定するという意味ですし、”?”なら0回、または1回の繰り返しを意味します。このように、ただ単に”\”や”?”という文字以上の意味を持つことからメタ(高次の、超えたというような意味)文字と呼ばれています。
もちろん、通常の検索と同じように普通の文字列による検索も可能です。例えば、”大谷大学”と指定して検索すれば対象文字列の中から”大谷大学”に一致する文字列を拾うことができます。
さらに、メタ文字と通常文字列を組み合わせて使用することで、さまざまな条件付けをした検索が可能となります。