首頁  >  文章  >  後端開發  >  正規表示式字元簇(一)

正規表示式字元簇(一)

巴扎黑
巴扎黑原創
2017-04-20 18:04:052186瀏覽

什麼是字元簇?

   在INTERNET的程式中,正規表示式通常用來驗證使用者的輸入。當使用者提交一個FORM以後,要判斷輸入的電話號碼、地址、EMAIL地址、信用卡號碼等是否有效,用普通的基於字面的字元是不夠的。

   所以要用一種更自由的描述我們要的模式的辦法,它就是字元簇。要建立一個表示所有元音字元的字元簇,就把所有的元音字元放在一個方括號裡:

   [AaEeIiOoUu]

   這個模式與任何元音字元相符,但只能表示一個字元。用連字號可以表示一個字元的範圍,如:

[a-z] //配對所有的小寫字母 

[A-Z] //符合所有的大寫字母 

# [a-zA-Z] //符合所有的字母 

[0-9] //配對所有的數字 

[0-9\.\-] //符合所有的數字,句號和減號 

[ \f\r\t\n] //匹配所有的白字符

   同樣的,這些也只表示一個字符,這是一個非常重要的。如果要匹配一個由一個小寫字母和一位數字組成的字串,例如」z2″、」t6″或」g7″,但不是」ab2″、」r2d3″ 或」b52″的話,用這個模式:

   ^[a-z][0-9]$

   儘管[a-z]代表26個字母的範圍,但在這裡它只能與第一個字元是小寫字母的字串匹配。

   前面曾經提到^表示字串的開頭,但它還有另一個意義。當在一組方括號裡使用^是,它表示「非」或「排除」的意思,常常用來剔除某個字元。也用前面的例子,我們要求第一個字元不能是數字:

   ^[^0-9][0-9]$

   這個模式與」&5″、」g7 ″及”-2″是匹配的,但與”12″、”66″是不匹配的。以下是幾個排除特定字元的例子:

[^a-z] //除了小寫字母以外的所有字元 

[^\\\/\^] //除了(\) (/)(^)以外的所有字元 

[^\”\'] //除了雙引號(”)和單引號(')之外的所有字元

   特殊字元”.” (點,句號)在正規表達式中用來表示除了「新行」之外的所有字元。所以模式」^.5$」與任何兩個字元的、以數字5結尾和以其他非「新行」字元開頭的字串相符。模式”.”可以匹配任何字串,除了空串和只包括一個“新行”的字串。

   PHP的正規表達式有一些內建的通用字元簇,列表如下:

   字元簇意義

#[[:alpha:]]任何字母 

[[:digit:]] 任何數字 

[[:alnum:]] 任何字母和數字 

[[:space:]] 任何白字符

[[:upper:]] 任何大寫字母 

[[:lower:]] 任何小寫字母 

[[:punct:]] 任何標點符號 

[[:xdigit:]] 任何16進位的數字,相當於[0-9a-fA-F] 

以上是正規表示式字元簇(一)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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