正則表達(dá)式(regular expression)描述了一種字符串匹配的模式,可以用來(lái)檢查一個(gè)串是否含有某種子串、將匹配的子串做替換或者從某個(gè)串中取出符合某個(gè)條件的子串等。
PHP 中我們可以使用 PCRE 擴(kuò)展來(lái)匹配字符串的模式。
函數(shù) | 描述 |
---|---|
preg_filter | 執(zhí)行一個(gè)正則表達(dá)式搜索和替換 |
preg_grep | 返回匹配模式的數(shù)組條目 |
preg_last_error | 返回最后一個(gè)PCRE正則執(zhí)行產(chǎn)生的錯(cuò)誤代碼 |
preg_match_all | 執(zhí)行一個(gè)全局正則表達(dá)式匹配 |
preg_match | 執(zhí)行一個(gè)正則表達(dá)式匹配 |
preg_quote | 轉(zhuǎn)義正則表達(dá)式字符 |
preg_replace_callback_array | 執(zhí)行一個(gè)正則表達(dá)式搜索并且使用一個(gè)回調(diào)進(jìn)行替換 |
preg_replace_callback | 執(zhí)行一個(gè)正則表達(dá)式搜索并且使用一個(gè)回調(diào)進(jìn)行替換 |
preg_replace | 執(zhí)行一個(gè)正則表達(dá)式的搜索和替換 |
preg_split | 通過(guò)一個(gè)正則表達(dá)式分隔字符串 |
常量 | 描述 | 自哪個(gè)版本起 |
---|---|---|
PREG_PATTERN_ORDER | 結(jié)果按照"規(guī)則"排序,僅用于preg_match_all(), 即$matches[0]是完整規(guī)則的匹配結(jié)果, $matches[1]是第一個(gè)子組匹配的結(jié)果,等等。 | since |
PREG_SET_ORDER | 結(jié)果按照"集合"排序,僅用于preg_match_all(), 即$matches[0]保存第一次匹配結(jié)果的所有結(jié)果(包含子組)信息, $matches[1]保存第二次的結(jié)果信息,等等。 | |
PREG_OFFSET_CAPTURE | 查看PREG_SPLIT_OFFSET_CAPTURE的描述。 | 4.3.0 |
PREG_SPLIT_NO_EMPTY | 這個(gè)標(biāo)記告訴 preg_split() 進(jìn)返回非空部分。 | |
PREG_SPLIT_DELIM_CAPTURE | 這個(gè)標(biāo)記告訴 preg_split() 同時(shí)捕獲括號(hào)表達(dá)式匹配到的內(nèi)容。 | 4.0.5 |
PREG_SPLIT_OFFSET_CAPTURE | 如果設(shè)置了這個(gè)標(biāo)記,每次出現(xiàn)的匹配子串的偏移量也會(huì)被返回。注意,這會(huì)改變返回?cái)?shù)組中的值, 每個(gè)元素都是由匹配子串作為第0個(gè)元素,它相對(duì)目標(biāo)字符串的偏移量作為第1個(gè)元素的數(shù)組。這個(gè) 標(biāo)記只能用于 preg_split()。 | 4.3.0 |
PREG_NO_ERROR | 沒(méi)有匹配錯(cuò)誤時(shí)調(diào)用 preg_last_error() 返回。 | 5.2.0 |
PREG_INTERNAL_ERROR | 如果有PCRE內(nèi)部錯(cuò)誤時(shí)調(diào)用 preg_last_error() 返回。 | 5.2.0 |
PREG_BACKTRACK_LIMIT_ERROR | 如果調(diào)用回溯限制超出,調(diào)用preg_last_error()時(shí)返回。 | 5.2.0 |
PREG_RECURSION_LIMIT_ERROR | 如果遞歸限制超出,調(diào)用preg_last_error()時(shí)返回。 | 5.2.0 |
PREG_BAD_UTF8_ERROR | 如果最后一個(gè)錯(cuò)誤時(shí)由于異常的utf-8數(shù)據(jù)(僅在運(yùn)行在 UTF-8 模式正則表達(dá)式下可用)。 導(dǎo)致的,調(diào)用preg_last_error()返回。 | 5.2.0 |
PREG_BAD_UTF8_OFFSET_ERROR | 如果偏移量與合法的urf-8代碼不匹配(僅在運(yùn)行在 UTF-8 模式正則表達(dá)式下可用)。 調(diào)用preg_last_error()返回。 | 5.3.0 |
PCRE_VERSION | PCRE版本號(hào)和發(fā)布日期(比如: "7.0 18-Dec-2006")。 | 5.2.4 |