« PHP:strtotime()関数 | メイン | PHP:ereg_replace()関数・eregi_replace()関数 »

2005年12月22日

PHP:ereg()関数・eregi()関数

ereg()関数
指定した正規表現にマッチした場合TRUEを返します。
大文字・小文字の違いを区別します。

eregi()関数
指定した正規表現にマッチした場合TRUEを返します。
大文字・小文字の違いを区別しません。

上記の特性があるため、大文字・小文字を区別する必要がない場合には
eregi()関数のほうが高速です。

日本語などマルチバイト文字の文字列検索を行う場合には、mb_ereg()関数などのマルチバイト関数を使用する必要があります。

$str = "455-ABC";

if(ereg("([4-5]{3})-([^D-Z]{2,})", $str, $ARRAY)){
//「4〜5が3文字」+「-」+「D〜Z以外が2文字以上」にマッチした場合TRUE
    print_r($ARRAY);
}

※上記の結果、「Array ( [0] => 455-ABC [1] => 455 [2] => ABC ) 」を出力します。

$ARRAY[0]:マッチした文字列全体が格納されます。
$ARRAY[1]以降:()でくくられた部分(上記の場合、「[4-5]{3}」の部分と「[^D-Z]{2,}」の部分)にマッチした文字列が格納されます。

>> 正規表現サンプルはこちらから

>> 正規表現のメタ文字一覧

>> 正規表現の繰り返しについて

>> エスケープシークエンスについて

投稿者 wing : 2005年12月22日 00:47

コメント