程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 淺析PHP正則表達式匹配的實現

淺析PHP正則表達式匹配的實現

編輯:關於PHP編程

淺析PHP正則表達式匹配的實現

PHP正則表達式匹配是我們談到正則表達式在PHP中是應用的最終目的,那麼如何實現PHP正則表達式匹配呢?具體的會使用到什麼方法呢?讓我們來看看具體的內容。

PHP繼承UNIX的一貫傳統,完全支持正規表達式的處理。正規表達式提供了一種高級的,但不直觀的字符串匹配和處理的方法。用過PERL的正規表達式的朋友都知道,正規表達式的功能非常強大,但學起來不是那麼容易。

PHP正則表達式匹配實例應用:

  1. ^.+@.+..+$  

這段有效卻難以理解的代碼足夠使一些程序員頭痛(我就是)或者讓他們放棄使用正規表達式。相信當你讀完這個教程後,就可以理解這段代碼的含義了。

PHP正則表達式匹配之基本模式匹配

一切從最基本的開始。模式,是正規表達式最基本的元素,它們是一組描述字符串特征的字符。模式可以很簡單,由普通的字符串組成,也可以非常復雜,往往用特殊的字符表示一個范圍內的字符、重復出現,或表示上下文。例如:

^once

這個模式包含一個特殊的字符^,表示該模式只匹配那些以once開頭的字符串。例如該模式與字符串"once upon a time"匹配,與"There once was a man from NewYork"不匹配。正如如^符號表示開頭一樣,$符號用來匹配那些以給定模式結尾的字符串。

bucket$

這個模式與"Who kept all of this cash in a bucket"匹配,與"buckets"不匹配。字符^和$同時使用時,表示精確匹配(字符串與模式一樣)。例如:

^bucket$

只匹配字符串"bucket"。如果一個模式不包括^和$,那麼它與任何包含該模式的字符串匹配。例如:模式

once

與字符串

  1. There once was a man from NewYork  
  2. Who kept all of his cash in a bucket. 

是匹配的。

在該模式中的字母(o-n-c-e)是字面的字符,也就是說,他們表示該字母本身,數字也是一樣的。其他一些稍微復雜的字符,如標點符號和白字符(空格、制表符等),要用到轉義序列。所有的轉義序列都用反斜槓()打頭。制表符的轉義序列是:t。所以如果我們要檢測一個字符串是否以制表符開頭,可以用這個模式:

^t

類似的,用n表示“新行”,r表示回車。其他的特殊符號,可以用在前面加上反斜槓,如反斜槓本身用表示,句號.用.表示,以此類推。

PHP正則表達式匹配相關的內容就向你介紹到這裡,希望對你了解和學習PHP正則表達式匹配有所幫助。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved