正規表現入門

正規表現入門ではこれから正規表現を使ってみようという方を対象に正規表現の基本知識と実際の使い方をサンプルを使って解説します。正規表現のパターンで使用される特別な意味を持つ「メタ文字」の種類と実際の使い方を学習したあと、正規表現のサンプルとして電話番号やURLのチェックなど正規表現がよく使用される代表的な使い方をご紹介します。また Python や JavaScript などプログラミング言語別に正規表現を具体的にどのようなコードで記述するのかについてそれぞれ解説します。

(Last modified: )

正規表現とは指定した条件に一致する複数の文字列を一つのパターンで表現する方法です。指定する条件は例えば「アルファベットと数値からなる 5 文字の文字列」や「末尾が ing で終わる文字列」など目的に合わせて条件を設定します。

正規表現は大量のデータの中から正規表現のパターンに一致する文字列を検索したり、見つかった文字列を別の文字列に置換する場合などに使われます。他にも正規表現は入力された文字列が正規表現で表現されるパターンに一致するかどうかをチェックする時などに使われます。

正規表現は通常の文字とメタ文字と呼ばれる特殊な意味を持つ文字の組み合わせでパターンを作っていきます。慣れないと分かりにくいですけど、一つ一つのメタ文字の意味は明確ですので使い方だけ覚えてしまえば複雑な条件の正規表現も自由に作れるようになると思います。

正規表現のパターンは通常の文字とメタ文字と呼ばれる特別な意味を持った文字を組み合わせて定義します。例えば任意の一文字にマッチするドット(.)やいずれか一文字にマッチする角括弧([...])、文字列の先頭や文字列の末尾の位置にマッチするキャレット(^)と ドル記号($)などです。正規表現で使用されるメタ文字の一覧とそれぞれのメタ文字の使い方について解説します。

正規表現のパターンはメタ文字と通常の文字を組み合わせて定義しますが、定義したパターンが対象のどこからどこまでにマッチするのかについて正規表現特有の注意すべき点があります。また先読みと後読みやキャプチャグループといったより複雑なパターンを定義するために知っておくと便利な方法があります。正規表現を使いこなす上で知っておくべき色々な書き方について解説します。

正規表現を使うと、利用者が入力した値が想定した形式と一致しているかチェックすることができます。例えば生年月日を入力してもらうテキストボックスでは、入力された値が年月日の形式に一致しているのかを正規表現を使って調べることができます。ここではメールアドレスや電話番号、郵便番号、日付や時刻、などの値をチェックする正規表現のサンプルを紹介します。

正規表現は多くのプログラミング言語やアプリケーションで利用することができますが、それぞれ記述方法が異なります。また同じ正規表現パターンであっても使用する環境によって挙動が異なる場合もあるので注意が必要です。各プログラミング言語毎に実際にどのように正規表現を記述するのかについて実際のサンプルコードをつけて解説します。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。