在PHP中有兩套正規表示式函數庫。一套是由PCRE(Perl Compatible Regular Expression)庫提供的,基於傳統型NFA。 PCRE函式庫使用和Perl相同的語法規則實現了正規表示式的模式匹配,其使用以“preg_”為前綴命名的函數。另一套是由POSIX(Portable Operation System interface)擴充庫提供的,基於POSIX NFA。 POSIX擴展的正規表示式由POSIX 1003.2定義,一般使用以「ereg_」為前綴命名的函數。
兩套函數庫的功能相似,執行效率稍有不同。一般而言,實現相同的功能,使用PCRE庫的效率略佔優勢。以下詳細介紹其使用方法。
函數原型:int preg_match (string pattern,stringpattern,stringcontent [, array $mat])
preg_mmatches (ches)
2. ereg()和eregi()
3. preg_grep()
函數原型:array preg_grep (string pattern,arraypattern,arrayinput)
1. preg_match_all()
與preg_match()函式類似。如果使用了第三個參數,將把所有可能的匹配結果放入。本函數傳回整個模 式符合的次數(可能為0),如果出錯則回傳False。
2.多行匹配
1. ereg_replace()與eregi_replace()
函數原型:string ereg_replace (string pattern,stringpattern,stringreplacement, string $string)## ##c pattern,stringpattern,stringreplacement, string $string)
ereg_replace()在string中搜尋模式字串string中搜尋模式字串pattern,並將所匹配結果替換為replacement。當replacement。當pattern中包含模式單元(或子模式)時,replacement中形如“\1”或“replacement中形如“\1”或“1”的位置將依次被這些子模式所匹配的內容替換。而“\0”或“$0”是指整個的匹配字串的內容。的形式。 pattern,mixedpattern,mixedreplacement, mixed subject[,intsubject[,intlimit])
preg_replace較ereg_replace的功能更加強大。次數,預設為全部替換。
函數原型:array split (string pattern,stringpattern,stringstring [, int $limit])
本函數傳回一個字串數組,每個單元為字串數組,每個單元為字串數組,每個單元為字串string經正規表示式string經正規表示式pattern作為邊界分割出的子字串。如 果實設定了limit,則傳回的陣列最多包含limit,則傳回的陣列最多包含limit個單元。而其中最後一個單元包含了$string中剩餘的所有部分。 spliti是split的 忽略大小版本。
本函數與split函式功能一致。 '
相關推薦:
#以上是PHP中正規表示式函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!