PHP 正則表示式(PCRE)

PHP 正則表示式(PCRE)

正則表示式(regular expression)描述了一種字串匹配的模式,可以用來檢查一個串是否含有某種子串、將匹配的子串做替換或者從某個串中取出符合某個條件的子串等。

更多正則表示式的內容可參考我們的:正則表示式 - 教程。

PHP 中我們可以使用 PCRE 擴充套件來匹配字串的模式。

PCRE 函式

函式描述
preg_filter 執行一個正則表示式搜尋和替換
preg_grep 返回匹配模式的陣列條目
preg_last_error 返回最後一個PCRE正則執行產生的錯誤程式碼
preg_match_all 執行一個全域性正則表示式匹配
preg_match 執行一個正則表示式匹配
preg_quote 轉義正則表示式字元
preg_replace_callback_array 執行一個正則表示式搜尋並且使用一個回撥進行替換
preg_replace_callback 執行一個正則表示式搜尋並且使用一個回撥進行替換
preg_replace 執行一個正則表示式的搜尋和替換
preg_split 通過一個正則表示式分隔字串

PREG 常量

常量 描述 自哪個版本起
PREG_PATTERN_ORDER 結果按照"規則"排序,僅用於preg_match_all(), 即$matches[0]是完整規則的匹配結果, $matches[1]是第一個子組匹配的結果,等等。 since
PREG_SET_ORDER 結果按照"集合"排序,僅用於preg_match_all(), 即$matches[0]儲存第一次匹配結果的所有結果(包含子組)資訊, $matches[1]儲存第二次的結果資訊,等等。  
PREG_OFFSET_CAPTURE 檢視PREG_SPLIT_OFFSET_CAPTURE的描述。 4.3.0
PREG_SPLIT_NO_EMPTY 這個標記告訴 preg_split() 進返回非空部分。  
PREG_SPLIT_DELIM_CAPTURE 這個標記告訴 preg_split() 同時捕獲括號表示式匹配到的內容。 4.0.5
PREG_SPLIT_OFFSET_CAPTURE 如果設定了這個標記,每次出現的匹配子串的偏移量也會被返回。注意,這會改變返回陣列中的值, 每個元素都是由匹配子串作為第0個元素,它相對目標字串的偏移量作為第1個元素的陣列。這個 標記只能用於 preg_split()。 4.3.0
PREG_NO_ERROR 沒有匹配錯誤時呼叫 preg_last_error() 返回。 5.2.0
PREG_INTERNAL_ERROR 如果有PCRE內部錯誤時呼叫 preg_last_error() 返回。 5.2.0
PREG_BACKTRACK_LIMIT_ERROR 如果呼叫回溯限制超出,呼叫preg_last_error()時返回。 5.2.0
PREG_RECURSION_LIMIT_ERROR 如果遞迴限制超出,呼叫preg_last_error()時返回。 5.2.0
PREG_BAD_UTF8_ERROR 如果最後一個錯誤時由於異常的utf-8資料(僅在執行在 UTF-8 模式正則表示式下可用)。 導致的,呼叫preg_last_error()返回。 5.2.0
PREG_BAD_UTF8_OFFSET_ERROR 如果偏移量與合法的urf-8程式碼不匹配(僅在執行在 UTF-8 模式正則表示式下可用)。 呼叫preg_last_error()返回。 5.3.0
PCRE_VERSION PCRE版本號和釋出日期(比如: "7.0 18-Dec-2006")。 5.2.4