首頁  >  文章  >  後端開發  >  php怎麼只匹配數字和字母

php怎麼只匹配數字和字母

WBOY
WBOY原創
2022-02-25 10:55:423788瀏覽

在PHP中,可以利用正規表示式和「preg_match()」函數來匹配數字和字母,該函數用於執行一個正規表示式的匹配,語法為「preg_match("/^[a -zA-Z0-9] $/u", 需要匹配的字串)」。

php怎麼只匹配數字和字母

本文操作環境:Windows10系統、PHP7.1版、Dell G3電腦。

php怎麼只符合數字和字母

preg_match 函數用來執行一個正規表示式匹配。

語法

int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )

搜尋 subject 與 pattern 給定的正規表示式的一個匹配。

參數說明:

  • $pattern: 要搜尋的模式,字串形式。

  • $subject: 輸入字串。

  • $matches: 如果提供了參數matches,它將被填入搜尋結果。 $matches[0]將包含完整模式匹配到的文本, $matches[1] 將包含第一個捕獲子組匹配到的文本,以此類推。

  • $flags:flags 可以被設定為以下標記值:PREG_OFFSET_CAPTURE: 如果傳遞了這個標記,對於每一個出現的匹配返回時會附加字串偏移量(相對於目標字串的)。注意:這會改變填充到matches參數的數組,使其每個元素成為由第0個元素是匹配到的字串,第1個元素是該匹配字串在目標字串subject中的偏移量。

  • offset: 通常,搜尋會從目標字串的起始位置開始。可選參數 offset 用於 指​​定從目標字串的某個未知開始搜尋(單位是位元組)。

傳回值

傳回 pattern 的符合次數。它的值將是 0 次(不匹配)或 1 次,因為 preg_match() 在第一次匹配後 將會停止搜尋。 preg_match_all() 不同於此,它會一直搜尋subject 直到到達結尾。如果發生錯誤preg_match()回傳 FALSE。

正規表示式:/^[a-zA-Z0-9] $/u

釋義:

(1)“/” :正規表示式的定義,固定的書寫形式;

(2)「^」:表示開始;

(3)「[]」:表示一個字元組,符合包含的任何字元。例如,「[ab]」符合「plain」中的「a」;

(4)「a-z」:與小寫字母a-z相符的字母範圍;

(5)「A-Z ”:表示與大寫字母A-Z匹配的字母範圍;

(6)“0-9”:匹配範圍為0-9的數字;

(7)“ ”:表示匹配數為一個或多個;

(8)「$」:符合輸入行的結尾。如果設定了RegExp物件的Multiline屬性,則$也符合「\n」或「\r」之前的位置;

(9)「u」:最後一個u是模式修飾符,嚴格來說,它可以是預先定義的常數。表示使用unicode進行比對。

擴充資料:

其它正規表示式符號的意義:

(1)「*」:與上一個子運算式符合任意次。例如,zo*匹配“z”以及“zo”和“zoo”。 *等效於{0,};

(2)“?”:匹配上一個子表達式零或一次。例如,「做(es)?」符合「do」或「does」。 ?等價於{0,1};

(3)「{n}」:n是一個非負整數。匹配被確定n次。例如,「o{2}」不能與「Bob」中的「o」匹配,但是可以與「food」中的兩個o匹配;

(4)「{n,}」:n是一個非負整數。至少匹配n次。例如,“o{2,}”不能匹配“Bob”中的“o”,但是可以匹配“foooood”中的所有o。 「o{1,}」等值於「o 」。 「o{0,}」等值於「o*」;

(5)「 {n,m}」:m和n是非負整數,其中n <= m。至少匹配n次,最多匹配m次。例如,「 o {1,3}」將符合「 fooooood」中的前三個o作為一個組,最後三個o作為一個組。 「 o {0,1}」等效於「 o?」。請注意,逗號和兩個數字之間不能有空格。

推薦學習:《PHP影片教學

以上是php怎麼只匹配數字和字母的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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