トップページ > 基礎知識 > 正規表現の利用シーンと良く使うサンプル
正規表現の利用シーンと良く使うサンプル
[初回公開] 2018年12月16日
正規表現は文字列を数学の式のように一つの形式で表すもので、これを使うことで作業や処理を瞬時に進めるためにシステム開発を始めウェブ制作などプログラムを扱う現場で活用されており、正規表現の利用シーンと正規表現のサンプルについて紹介する。
このページの目次
1. 正規表現とは
正規表現とは、数値や文字列を数学で用いられる公式のように一つの形式で表すことである。
例えば 1 や 2 といった一桁の数値は正規表現で [0-9] と表すことができ、膨大な文章やデータの中から正規表現で指定するパターンにマッチした箇所全てを検索したり、置換したりすることができる。
2. 正規表現の利用シーン
正規表現が利用されるシーンは主にシステム開発やウェブ制作などプログラムを扱う現場で用いられることが多く、特に文字列の検索・置換といった入力された文字の形式をチェックする際に利用される。
正規表現を利用するためには、プログラムを記述するテキストエディタやコーディングソフトの機能として実装されていたり、Python や PHP といったプログラム言語の処理に実装されている。
文字の検索・置換では大量にある文章などデータの中から指定するパターンの文字列を検索したり、検索でマッチした文字列を違う文字列に一括で置き換える際に利用される。
また、入力された文字の形式チェックでは、例えば EC サイトなど会員登録する際に入力するメールアドレスで、入力した文字列が @ を含むメールアドレスの形式になっているかチェックする場合に正規表現が利用される。
3. PHP での正規表現の利用例
プログラム言語の PHP において特定の形式にマッチするか正規表現を用いて判定する場合に関数の preg_match() か preg_match_all() を利用する。
下記は配列に入った文字列を正規表現で指定する型にマッチするか順番に判定する利用例である。
$text_arr = array( 'abcde12345', 'aaaaa@bbb.cc', 'http://zzzzz.yyyyy.xxxxx/', 'abcd---efgh---ijkl' ); foreach ( $text_arr as $var ) { if ( preg_match( "/{検出する正規表現}/", $var, $base ) ){ print_r( $base ); }else{ $printVar = "[" . $var . "] no match\n"; echo $printVar; } }
4. 正規表現の良く使うサンプル
正規表現で記載するパターンの中でデータの検索・置換やプログラムを扱う現場で良く利用されるサンプルを次の通り紹介する。
4-1. 半角英字 a ~ z でマッチ
入力されたデータやテキストファイルの中で半角英字(a ~ z)にマッチさせる場合の正規表現は次の通りである。
正規表現 → [a-z]+
abcde12345
aaaaa@bbb.cc
http://zzzzz.yyyyy.xxxxx/
4-2. @ より前の文字列にマッチ
入力されたメールアドレスやテキストファイルの中で @ より前の文字列にマッチさせる場合の正規表現は次の通りである。
正規表現 → (.)+@
abcde12345
aaaaa@bbb.cc
http://zzzzz.yyyyy.xxxxx/
4-3. 末尾が / にマッチ
入力されたデータやテキストファイルの中で末尾の / にマッチさせる場合の正規表現は次の通りである。
正規表現 → /$
abcde12345
aaaaa@bbb.cc
http://zzzzz.yyyyy.xxxxx/
4-4. 特定の文字列で囲まれた部分にマッチ
入力されたデータやテキストファイルの中で特定の文字列に囲まれた箇所をマッチする場合の正規表現は次の通りである。
下記では --- で囲まれた箇所を判定するようにしている。
正規表現 → (---.+---)
abcde12345
aaaaa@bbb.cc
http://zzzzz.yyyyy.xxxxx/ abcd---efgh---ijkl
関連記事
IT/Web 総合
Flash とはブラウザ上で再生することができる動画またはインターフェイスの一種で多くのウェブサイトやクリエイターの作品作成のツールとして利用されてきたが 2020 年に提供を終了し、その後継ソフトや活用方法について紹介する。
IT/Web 総合
インターネットはブラウザでウェブサイトを見たり、SNS やスマホゲームなどさまざまなことができるが、それらは全てサーバと呼ばれるシステムによる実現できている。ここではサーバの概要とインターネットには欠かせない理由について説明する。
IT/Web 総合
サイト内検索は Google など検索サイトと違い特定のウェブサイトやブログ内のコンテンツのみを対象に検索する機能で、一見するとウェブサイトにアクセスした閲覧者向けに思えるが、サイト運営者の方に大きなメリットがある理由について紹介する。
ウェブサイトをインターネット公開するまでのゼロから始めた全体の流れ
IT/Web 総合
ウェブサイトやブログを初めて公開する場合や、既に公開しているもののリニューアルする場合など、実際にページを作る前に考慮すべき点によりウェブサイトの構成と作成方法が異なるため、企画してインターネット上に公開するまでの流れを紹介する。
IT/Web 総合
ウェブ制作者やシステムエンジニアは IT 系の業種として理系の学校に通う学生に人気があり、独学でもスキルを習得できることから文系学部の卒業者でもエンジニアとして活躍する人が少なく、このウェブ制作者やシステムエンジニアになる方法について紹介する。