PHPでは、正規表現を利用して入力内容をチェックすることができます。
ここでは正規表現とはどのようなものか、基本的な正規表現について解説していきます。
目次
1.正規表現とは?
正規表現を利用することで、「特定の文字列が数字なのか英字なのか」等、様々なパターンをチェックすることができます。
例えば、お問い合わせフォームの電話番号、郵便番号、メールアドレスが正しく入力されているか正規表現を利用してチェックすることができます。
具体的に郵便番号を正規表現でどのようにチェックするのかを見てみましょう。
郵便番号は〒の後に「3つの数字」、「-」、「4つの数字」が並んでいます。
郵便番号を正規表現でチェックする場合、どのように記述するのでしょうか。
正規表現を利用して、[0-9]{3}-[0-9]{4}と記述することができます。
上記は先頭から「0-9の数値3桁」、「0-9の数値4桁」かどうかをチェックするという意味になっています。
正規表現を使用しない場合、何段階に分けてチェックする必要があります。
しかし、正規表現を利用することで入力内容と一致するかどうかを簡潔に記述することができます。
このように正規表現はデータが正しく入力されたかをチェックし、データの正確性を向上させる役割を担っています。
2.基本的な正規表現
正規表現によって表現された文字列パターンのことを正規表現パターンと呼びます。
そして、正規表現パターンと対象の文字列が一致することをマッチすると呼びます。
正規表現パターンは「/~/」で囲む必要があります。
ここでは、よく使用される正規表現の一部を紹介します。
パターン | 内容 | 例 |
---|---|---|
[] | いずれかの文字にマッチ | /[XYZ]/の場合、X、Y、Zのいずれかにマッチするかどうかを判定します。 |
[0-9] | 特定範囲の数値にマッチ | /[0-9]/の場合、0~9のいずれかにマッチするかどうかを判定します。 ※[0123456789]と記載することもできるが、[0-9]と記載したほうが、分かりやすいです。 |
[A-Z] | 特定範囲の文字にマッチ | /[A-Z]/の場合、英大文字A~Zのいずれかにマッチするかどうかを判定します。 ※英小文字a~zのいずれかにマッチするかどうかは判定しません。 |
[a-z] | 特定範囲の文字にマッチ | /[a-z]/の場合、英小文字a~zのいずれかにマッチするかどうかを判定します。 ※英大文字A~Zのいずれかにマッチするかどうかは判定しません。 |
. | 任意の1文字にマッチ | /r.d/の場合、「red」はマッチする。 |
^ | 先頭にマッチ | /^a/の場合、「apple」はマッチする。 |
$ | 末尾にマッチ | /e$/の場合、「apple」はマッチする。 |
* | 直前の表現を0回以上繰り返す | /ab*c/の場合、「ac」、「abc」、「abbc」はマッチする。 |
+ | 直前の表現を1回以上繰り返す | /ab+c/の場合、「abc」、「abbc」、「abbbc」はマッチする。 |
? | 直前の表現を0回または1回繰り返す | /ab?c/の場合、「ac」、「abc」はマッチする。 |
{n} | 直前の表現をn回繰り返す | /ab{2}c/の場合、「abbc」はマッチする。 |
{n,} | 直前の表現をn回以上繰り返す | /ab{2,}c/の場合、「abbc」、「abbbc」はマッチする。 |
{n,m} | 直前のひゅうげんをn回以上m回以下繰り返す | /ab{2,3}c/の場合、「abbc」、「abbbc」はマッチする。 |
3.PHPをもっと学びたい方へ
最後まで読んで頂きまして、ありがとうございます。
PHPをもっと学びたいという方はいないでしょうか?
上記のように考えている方にオススメの教材があります。
確かな力が身につくPHP「超」入門
そのため、PHPを一通り学んだ方にオススメできる一冊です。
是非、挑戦してみてはいかがでしょうか?
以下の記事でPHPを学ぶことができるオススメの本をまとめていますので、よかったらご覧になって下さい。

Udemy
UdemyではPHPを学ぶことができる講座を多数取り扱っています。
以下の記事でPHPを学ぶことができるオススメの講座をまとめていますので、よかったらご覧になって下さい。

TechAcademy
TechAcademy [テックアカデミー]ではPHPを学ぶことができます。
無料体験も行っているので是非、体験してみてはいかがでしょうか?
TechAcademyについてまとめた記事もありますので、よかったらご覧になって下さい。

4.ポイント
- 正規表現を利用することで、特定の文字列が数字なのか、英字なのか、など、様々なパターンをチェックすることができます
- 正規表現によって表現された文字列パターンのことを正規表現パターンと呼びます
- 正規表現パターンと対象の文字列が一致することをマッチすると呼びます