アプリ開発などさまざまな分野で利用されている「PHP」。
プログラミング言語の中では比較的分かりやすく、しかも初心者でも扱いやすいことから高い需要があります。C言語にも似ているため、さまざまな分野に応用したいと考えて学ぶ人も多い言語です。
ここでは、まだPHPを学び始めたばかりの人のために、知っていれば便利に活用できる「正規表現」をご紹介します。
正規表現とは?
正規表現とは、複数の文字列を一定の形式で表現するためのパターンのことです。
私たちが日常でよく使う検索システムは、完全に一致していないと検索からはじかれてしまうことがあります。
ページのどこかに入力されている、電話番号やメールアドレスを探したいときも同様です。検索を利用するときは、その電話番号やアドレスを知っていないと検索することができません。
そこで登場するのが、「正規表現」です。正規表現を利用すれば汎用的な文字を利用して、ある形式の文字列だけを検索することができます。
文字列には、共通するルールがあります。正規表現では、メタ文字と呼ばれる特殊文字を同じルールで使うことで、検索や置換などを簡単に行います。
これを利用しているのが、私たちの身の回りでよく見かけるWebアプリケーションの入力事項の妥当性チェックです。
PHPの正規表現の活用方法について、もう少し詳しく見ていきましょう。
メールアドレスやURLを正規表現でチェックする
正規表現は、文字列が正しいかどうかを簡易的にチェックするために利用されます。
例えば、正規表現を利用して入力フォームなどで入力されたメールアドレスが、メールアドレスの形式に則っているか簡易的にチェックすることが可能です。
また、同じ要領で正規表現を利用し、入力された文字列が正しいURLかどうかもチェックすることができます。
メールアドレスであれば@文字前後の文字列のマッチング、URLであればhttpなどの後にURLで使用できる文字列が使われているかチェックしています。
ただし、完璧なチェックを行うことは、正規表現ではできません。あくまで、文法がルールにあっているかどうかを調べられるだけです。
正規表現のルール
正規表現を利用するためには、メタ文字や文法のルールを理解することが必要です。
ここでは、代表的なものをご紹介しましょう。
例えば、先頭のマッチングなら「^」、末尾であれば「$」というメタ文字を使用します。
さらに、同じ種類の文字から1文字を探す場合は、「[A-Z]」で大文字のAからZのうちのどれかという意味になります。
まずは、実際のPHPのソースコードを見ながら、どのような文字があるのか調べてみましょう。マッチングでは、preg系の関数やereg系の関数を利用します。
初めのうちはわからない文字列ばかりになると思いますが、その都度検索して調べながら覚えていくと良いでしょう。
PHPの正規表現を利用してできること
PHPの正規表現は上記以外にも、全角に限定した入力やIDやパスワード入力の制限で利用されています。
一度正規表現の利用法に慣れてしまえば、電話番号など文字列を検索する他、文字列を抜き出したり置換したりとさまざまな応用が可能です。
正規表現を知っているのといないのとでは、仕事の効率にも大きな差が出てくるでしょう。
まとめ
はじめは正規表現の特殊文字に戸惑うことも多いと思いますが、PHPをマスターするには慣れることが第一です。まずは、日常的に使う正規表現から覚えていきましょう。
サンプルを見つけ、実際に書いて動作確認をしていくと、だんだん正規表現に慣れてきます。
謎の暗号にしか見えなかった正規表現が、少しずつでも読んで書けるようになれば、慣れてきた証拠です。
正規表現があれば何でもできる、というわけではありませんが、知っておけば役に立つシーンはたくさんあります。ややこしいと今まで正規表現を避けてきた人も、この機会にマスターすることを目指しましょう。