在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 支援i(不區分大小寫)等修飾符,相當於eregi。例: eregi('^hello', 'HELLO') 可以替換為 preg_match('/^hello/i', 'HELLO')。
詳細的 PCRE 語法參考和 ereg-PCRE 轉換指導,請參閱 PHP 手冊。
在某些情況下,可能不需要正規表示式。對於提供的範例 (eregi('^hello world')),使用 stripos($str, 'hello world') === 0 進行簡化比較就足夠了。
以上是如何在 PHP 中有效地將 ereg 正規表示式轉換為 preg?的詳細內容。更多資訊請關注PHP中文網其他相關文章!