入力データの形式チェックをするときに、正規表現によるパターンマッチングがよく使われます。パターンマッチングとは、正規表現で記述された「パターン」と照合して、一致したときに「マッチする」という意味です。特殊な記号を組み合わせて検索パターンを指定することができます。
ereg()関数
引数で与えられた文字列と、パターンの一致するものを検索します。正規表現にマッチした場合Trueを返します。
《構文》
ereg (pattern, string, [regs]) |
正規表現で使う代表的名パターン
パターン |
意味 |
例 |
¥ | 特殊この記号の後の特殊文字をそのまま出力する | |
^ | 入力の開始と一致 | ^[0-9] 数字で始まる |
$ | 入力の末尾と一致 | $[0-9] 数字で終わる |
* | 前方の文字が0回以上の連続する文字 | fo* "f"や"foo"などと一致 |
+ | 前方の文字が1回以上の連続する文字 | fo+ "fo"や"foo"などと一致 |
{n} | n回以上の連続する文字 | [0-9]{5} 数字5字以上に一致 |
{n,m} | n〜m回まで連続する文字 | [0-9]{1,5} 数字1〜5文字に一致 |
\n | 改行文字 | |
? | 前方の文字が1つまたは全くないもの |
《サンプル》 文字列の部分一致
<?php $str1 = "雨が降っています。"; $str2 = "明日は晴れるでしょうか"; if (ereg("^雨",$str1)) echo ("雨から始まります<br>\n"); if (ereg("?$",$str2)) echo ("かで終わります<br>\n"); ?> |
《実行結果》
Fatal error: Uncaught Error: Call to undefined function ereg() in /home/jeanluc/www/chie/zaitaku/php/study/step7.php:115 Stack trace: #0 {main} thrown in /home/jeanluc/www/chie/zaitaku/php/study/step7.php on line 115 |