首頁  >  文章  >  後端開發  >  PHP正規表示式的基礎及簡單實例

PHP正規表示式的基礎及簡單實例

*文
*文原創
2017-12-23 14:50:471850瀏覽

寫正規表示式常常是比較頭痛的事情,可能剛寫的正規表示式過一會自己就看不懂了。本文介紹了正規的基本語法以及簡單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

##規則分割preg_split

preg_split 可以將整段字串按符合的正規表示式分割成1、2或更多字元的多段。例如取得標籤,無論是用空格或逗號分隔的:

$tags = preg_split('/[,]/', 'my,tags,unevenly,spaced');
print_r($tags);
結果是:
Array ( [0] => my [1] => tags [2] => unevenly [3] => spaced ) 


##相關推薦:

史上最完整的PHP正規表示式_正規表示式

php正規表示式中preg_match_all函數的詳解

#php正規表示式中preg_match函數的詳解

###########################################################################################

以上是PHP正規表示式的基礎及簡單實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn