PHP を使用した PCRE 式の変換
POSIX 正規表現 (ereg) は、PHP 5.3.0 以降では推奨されなくなりました。この記事では、古い ereg 式を、現在もサポートされている Perl 互換の正規表現 (PCRE または preg) に変換する簡単な方法を説明します。
構文の変更
主な違いpreg にデリミタが追加されていることに注意してください。式内の文字との衝突を防ぎます。一般的な区切り文字には、~、/、# などがあります。
区切り文字のエスケープ
式内に区切り文字が出現する場合は、エスケープする必要があります。たとえば、スラッシュを含む式にはエスケープが必要です。
preg_match('/^\/hello/', $str);
preg_quote の使用
エスケープ文字が適切に追加されていることを確認するには、preg_quote 関数を使用します。すべての区切り文字と予約文字をエスケープします:
$expr = preg_quote('/hello', '/'); preg_match('/^'.$expr.'/', $str);
大文字と小文字の区別
i 修飾子は、eregi:
preg_match('/^hello/i', 'HELLO');
リファレンスガイド
PHP の PCRE 構文に関する包括的なリファレンスについては、公式マニュアルを参照してください。さらに、このマニュアルには、変換プロセスを支援する、POSIX 正規表現と PCRE 正規表現の違いの内訳が含まれています。単純な式のより単純な代替手段
提供された例では (文字列の先頭で「hello world」と一致する場合)、正規表現は不要な場合があります:以上がPHP ereg 正規表現を PCRE に簡単に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。