文章詳情頁
PHP擴展之文本處理(二)——PCRE與POSIX正則表達式的不同
瀏覽:3日期:2022-09-16 09:22:01
自 PHP 5.3.0起,?POSIX 正則表達式擴展被廢棄。在 POSIX 正則和 PCRE 正則之間有一些不同,本文列出了在轉向PCRE 時最顯著的需要知道的不同點。
PCRE 函數需要模式以分隔符閉合。不像POSIX,PCRE 擴展沒有專門用于大小寫不敏感匹配的函數。取而代之的是,支持使用i?(PCRE_CASELESS)?模式修飾符完成同樣的工作。 其他模式修飾符同樣可用于改變匹配策略。POSIX 函數從最左面開始尋找最長的匹配,但是 PCRE 在第一個合法匹配后停止。如果字符串 不匹配這沒有什么區別,但是如果匹配,兩者在結果和速度上都會有差別。?為了說明這個不同, 考慮下面的例子(來自Jeffrey Friedl 的《精通正則表達式》一書)。 使用模式?one(self)?(selfsufficient)??在字符串oneselfsufficient?上匹配,PCRE 會匹配到oneself,但是使用 POSIX,結果將是整個字符串?oneselfsufficient。 兩個子串都匹配原始字符串,但是 POSIX 將 最長的最為結果。函數對照表POSIXPCREereg_replace()preg_replace()ereg()preg_match()eregi_replace()preg_replace()eregi()preg_match()split()preg_split()spliti()preg_split()sql_regcase()無對等函數 標簽:
PHP
相關文章:
排行榜