正規表示式(regular expression)描述了一種字串匹配的模式,可以用來檢查一個字串是否含有某種子字串、將匹配的子字串做替換或從某個字串中取出符合某個條件的子字串等。
更多正規表示式的內容可參考我們的:正規表示式- 教學。
PHP 中我們可以使用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_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 |