寫正規表示式常常是比較頭痛的事情,可能剛寫的正規表示式過一會自己就看不懂了。本文介紹了正規的基本語法以及簡單PHP程式碼範例,方便朋友們需要寫正規表示式時翻閱。
開頭的 ^ 和結尾的 $ 讓PHP從字串開頭檢查到結尾。假使沒有 $,程式仍會符合到 結尾。
[ 和 ] 被用來限制許可輸入類型。例如 a-z 允許所有的小寫字母,A-Z 允許所有的大寫字母,0-9 所有數字,等等,以及更多其他類型。
{ 和 } 被用來限制期望的字元數。例如 {2,4} 表示字串的每一節可以有 2-4 個字元長度,像是 .com.cn 或 .info。這裡, "." 並不算一個字符,因為{2,4} 之前定義的許可輸入類型只有大小寫字母,故此段只匹配大小寫字母
( 和 ) 被用來合併小節,並定義字串中必須存在的字元。 (a|b|c) 能夠符合 a 或 b 或 c。
(.) 將匹配所有字符,而 [.] 只匹配 "." 本身。
要使用一些符號本身,必須在前增加一個\。這些字元有:( ) [ ] . * ? + ^ | $
附:PCRE 語法指南
/ 定界符
^ 字串頭
$ 字串尾
[a-z] 所有小寫字母
[A-Z] 所有大寫字母
[0-9] 所有數字
? 零或一個緊接前的字元
*零或多個緊接前的字元
+ 一或多個緊接前的字元
{4} 4個緊接前的字元
{4,8} 4-8個緊接前的字元
. 任意字元
(red|green|blue) Red 或green 或blue(紅或綠或藍)
s 空格
特殊字元(需要在前加\)
( ) [ ] . * ? + ^ | $
規則符合preg_match
利用preg_match(),我們可以完成字串的規則比對。如果找到一個匹配,preg_match() 函數返回 1,否則返回 0。還有一個可選的第三參數可以讓你把符合的部分存在一個陣列中。在驗證資料時這個功能可以變得非常有用。
$string = "football";
if (preg_match('/foo/', $string)) {
// 符合正確
}
規則替換preg_replace
preg_replace 允許你替換字串中符合到你定義的正規表示式。
$val = "/*123456789*/abcd";
$pp = preg_replace("/[(\/\*)+(.)(\*\/)+]+/",'fuck ',$val);
print_r($pp);
結果是
fuck123456789fuckabcd
$tags = preg_split('/[,]/', 'my,tags,unevenly,spaced');
print_r($tags);
結果是:
Array ( [0] => my [1] => tags [2] => unevenly [3] => spaced )
##相關推薦:
###########################################################################################以上是PHP正規表示式的基礎及簡單實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!