淺析PHPRegex匹配的實現
PHPRegex匹配是我們談到Regex在PHP中是應用的最終目的,那麼如何?PHPRegex匹配呢?具體的會使用到什麼方法呢?讓我們來看看具體的內容。
PHP繼承UNIX的一貫傳統,完全支援正規運算式的處理。正規運算式提供了一種進階的,但不直觀的字串匹配和處理的方法。用過PERL的正規運算式的朋友都知道,正規運算式的功能非常強大,但學起來不是那麼容易。
PHPRegex匹配執行個體應用:
- ^.+@.+..+$
這段有效卻難以理解的代碼足夠使一些程式員頭痛(我就是)或者讓他們放棄使用正規運算式。相信當你讀完這個教程後,就可以理解這段代碼的含義了。
PHPRegex匹配之基本模式比對
一切從最基本的開始。模式,是正規運算式最基本的元素,它們是一組描述字串特徵的字元。模式可以很簡單,由普通的字串組成,也可以非常複雜,往往用特殊的字元表示一個範圍內的字元、重複出現,或表示上下文。例如:
^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
與字串
- There once was a man from NewYork
- Who kept all of his cash in a bucket.
是匹配的。
在該模式中的字母(o-n-c-e)是字面的字元,也就是說,他們表示該字母本身,數字也是一樣的。其他一些稍微複雜的字元,如標點符號和白字元(空格、定位字元等),要用到逸出序列。所有的逸出序列都用反斜線()打頭。定位字元的逸出序列是:t。所以如果我們要檢測一個字串是否以定位字元開頭,可以用這個模式:
^t
類似的,用n表示“新行”,r表示斷行符號。其他的特殊符號,可以用在前面加上反斜線,如反斜線本身用表示,句號.用.表示,以此類推。
PHPRegex匹配相關的內容就向你介紹到這裡,希望對你瞭解和學習PHPRegex匹配有所協助。
http://www.bkjia.com/PHPjc/446580.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/446580.htmlTechArticle淺析PHPRegex匹配的實現 PHPRegex匹配是我們談到Regex在PHP中是應用的最終目的,那麼如何?PHPRegex匹配呢?具體...