我們之前先跟大家介紹了php正規表示式的使用,入門,以及驗證信箱位址,那麼我們今天就想大家介紹php正規表示式中的函數preg_match ,preg_match函數在php正規表示式中的規則是怎樣的?
PHP正規表示式preg_match函數的使用:
#利用 preg_match(),可以完成字串的規則比對。如果找到一個匹配,preg_match() 函數返回 1,否則返回 0。還有一個可選的第三參數可以讓你把符合的部分存在一個陣列中。在驗證資料時這個功能顯得非常重要且有用。
$string = "php爱好者"; if (preg_match('/php/', $string)) { // 匹配正确 }
上面的範例將成功匹配,因為「php愛好者」裡麵包含 php。現在我們來試一個更複雜的,例如驗證一個 Email 位址。
$string = "first.last@domain.uno.dos"; if (preg_match( '/^[^0-9][a-zA-Z0-9_]+ ([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+ ([.] [a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/', $string)) { // 验证Email地址 }
這個範例將驗證出此 Email 位址為正確格式。
PHP正規表示式preg_match的規則:
透過上面實例的示範我們來了解下這段正規表示式所代表的各種規則。
PCRE 顧名思義,與在 Perl 中的正規表示式有相同的語法,所以每段正規表示式必須要有一對定界符。我們一般使用 / 為定界符。
開頭的 ^ 和結尾的 $ 讓PHP從字串開頭檢查到結尾。假使沒有 $,程式仍會配對到 Email 的結尾。
◆[ 和 ] 被用來限制許可輸入類型。例如 a-z 允許所有的小寫字母,A-Z 允許所有的大寫字母,0-9 所有數字,等等,以及更多其他類型。
◆{ 和 } 被用來限制期望值的字元數。例如 {2,4} 表示字串的每一節可以有 2-4 個字元長度,像是 .com.cn 或 .info。這裡, "." 並不算一個字符,因為{2,4} 之前定義的許可輸入類型只有大小寫字母,故此段只匹配大小寫字母
◆( 和) 被用來合併小節,並定義字串中必須存在的字元。 (a|b|c) 能夠符合 a 或 b 或 c。
◆(.) 將匹配所有字符,而 [.] 只匹配 "." 本身。
要使用一些符號本身,必須在前增加一個 。這些字元有:( ) [ ] . * ? + ^ | $
總結:
preg_match()函數在php正規表示式中進行匹配,第一次匹配成功後就會停止匹配,如果要實現全部結果的匹配,希望對你工作有所幫助!
相關推薦:
#以上是php正規表示式中preg_match函數的詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!