文字列の検索は正規表現の主な用途です。 PHP では、POSIX スタイルの正規表現の照合に使用できる 2 つの関数は、 ereg() 関数と eregi() 関数です。
ereg()関数とeregi()関数
関数の構文形式は次のとおりです:
int ereg(string pattern,string search,array[matches]);
関数: この関数は検索します文字列検索の場合は、パターン内の正規表現に一致する文字列を検索します。 pattern の部分式に一致する文字列が見つかった場合、これらの文字列は、各配列要素が 1 つの部分式に対応する状態で、matches 配列に格納されます。
関数 eregi() 関数は、大文字と小文字を区別しないことを除いて、ereg() 関数と同じ機能を持ちます。
変数が正当かどうかを検証するための ereg() 関数の使用例:
<?php header("content-type:text/html;charset=utf-8"); $ereg = '^[$][[:alpha:]__][[:alnum:]]*'; ereg($ereg,'$_name',$register); var_dump($register); ?>
注: ereg は PHP の新しいバージョンでは非推奨となり、preg_match().
ereg_replace() と置き換えられました。 eregi_replace()
関数の構文形式は次のとおりです:
string ereg_replace/ereg_replace(文字列パターン, 文字列置換, 文字列 string)
関数関数: 文字置換文字列内の表現パターンと一致する場合は一致します。成功した場合は、replacement を使用して一致文字列を置換し、置換された文字列を返します。文字列内に一致するものが見つからない場合、文字列は変更されずに返されます。 eregi_replace() は大文字と小文字を区別しません。
文字列内のすべての大文字以外の TM を大文字の TM に置き換える方法を示す例:
<?php header("content-type:text/html;charset=utf-8"); $ereg = 'tm'; $str = 'hello ,tm,Tm,tM'; $rep_str = eregi_replace($ereg,'TM',$str); echo $rep_str;
注: 新しいバージョンでは、eregi_replace() は preg_replace() に置き換えられます。
以上がPOSIX 拡張正規表現関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。