PHP での EReg から PREG への移行
PHP 5.3.0 以降、POSIX 正規表現 (ereg) は非推奨になり、採用が必要になりました。 Perl 互換の正規表現 (preg) の説明。この移行では、preg_match との互換性を確保するために、既存の ereg 式を変更する必要があります。
構文の違い
重要な構文の変更には、式への区切り文字の追加が含まれます。 ereg とは異なり、preg では正規表現の前後に区切り文字が必要です。区切り文字には、~、/、# などの文字、または括弧 ([]、()、{} など) を使用できます。
preg_match('/^hello/', $str); // Using '/' as a delimiter preg_match('[^hello]', $str); // Using square brackets as a delimiter
エスケープ区切り文字
選択した区切り文字が正規表現内にある場合は、バックスラッシュを使用してエスケープします().
preg_match('/^\/hello/', $str);
preg_quote の使用
すべての区切り文字と予約文字を包括的にエスケープするには、preg_quote:
$expr = preg_quote('/hello', '/'); preg_match('/^'.$expr.'/', $str);
大文字と小文字を区別しないマッチング
大文字と小文字を区別しないマッチングを実行するには、i 修飾子を利用します。preg_match('/^hello/i', $str);
指定された例の変換
提供された例、 eregi('^hello world') は、 preg_match を使用して簡略化できるため、 preg_match に変換しないでください。ストリップス関数:以上がPHP コードを「ereg」正規表現から「preg」正規表現に移行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。