ホームページ >バックエンド開発 >PHPチュートリアル >PHP で ereg 正規表現を preg に効果的に変換するにはどうすればよいですか?
PHP で ereg 正規表現を preg に変換する
PHP 5.3.0 では POSIX 正規表現 (ereg) が廃止されるため、古い ereg 式は次のように変換されます。 PCRE (Perl 互換正規表現) (preg) が必須になります。この記事では、この移行を容易にするための簡略化されたガイドを提供します。
ereg とは異なり、preg では正規表現の両端に区切り文字が必要です。一般的に使用される区切り文字には、~、/、# などがあります。たとえば、ereg 式「^hello world」は、スラッシュで囲むことで preg_match("/^hello world/") に変換できます。
一致する括弧は区切り文字としても機能し、1、(^こんにちは)、{^こんにちは}。ただし、式に含まれる区切り文字はバックスラッシュを使用してエスケープする必要があります。例: ereg("^/hello", $str) は preg_match('/^/hello/', $str) になります。
preg_quote 関数は、文字列内の区切り文字や予約文字をエスケープするのに便利です。例: $expr = preg_quote('/hello', '/'); preg_match('/^'.$expr.'/', $str).PCRE は、eregi と同等の i (大文字と小文字を区別しない) のような修飾子をサポートします。例: eregi('^hello', 'HELLO') は preg_match('/^hello/i', 'HELLO') に置き換えることができます。詳細な PCRE 構文のリファレンスと ereg-PCRE 変換ガイダンスについては、 PHP マニュアルを参照してください。場合によっては、正規表現が必要ない場合があります。提供されている例 (eregi('^hello world')) の場合、stripos($str, 'hello world') === 0 を使用した単純化された比較で十分です。以上がPHP で ereg 正規表現を preg に効果的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。