PHP使用正規表示式

2021-09-25 10:13:05 字數 1482 閱讀 4688

正規表示式(regular expression) 是一種文字模式,包括普通字元和特殊字元(元字元)。正規表示式使用單個字串來描述、匹配一系列匹配某個句法規則的字串。

通過正規表示式,可以:

測試字串內的模式(資料驗證)

替換文字

基於模式匹配從字串中提取子字串

正規表示式是基於文字的編輯器和搜尋工具中的乙個重要部分

正規表示式描述了一種字串匹配的模式,可以用來檢查乙個串是否含有某種子串,將匹配的子串替換,或者從某個串中取出符合某個條件的子串等。

構造正規表示式的方法和建立數學表示式的方法一樣,使用多種元字元與運算子可以將小的表示式結合起來建立更大的標的是,正規表示式的元件可以是單個的字元、字元集合、字元範圍、字元間的選擇或者所有這些元件的任意組合。模式描述在搜尋文字時要匹配的乙個或者多個字元。

正規表示式作為乙個模板,將某個字元模式與所搜尋的字串進行匹配。

普通字元:普通字元包括沒有顯式指定為元字元的所有可列印和不可列印字元,包括左右大寫和小寫字母、所有數字、所有標點符號和一些其他符號

非列印字元:例如換行符、換頁符等轉義序列

特殊字元:就是一些有特殊含義的字元。如果要查詢這些特殊字元,需要進行轉義

限定符:用來指定正規表示式的乙個給定元件必須要出來多少次才能滿足匹配

定位符:能夠將正在為表示式固定到行首或者行尾,還可以建立在單詞內、單詞開頭或者單詞結尾的正規表示式。注意不能將限定符與定位符一起使用。

選擇:用圓括號將所有選擇項括起來,相鄰的選擇項之間用|分割。但是圓括號有乙個***,,相關的匹配會被快取,此時可以用?:放在第乙個選項前來消除***。其中?:是非捕獲元,還有兩個非捕獲元是?=和?!,這兩個還有更多的含義,前者為正向預查,在任何開始匹配圓括號內的正規表示式模式的位置來匹配搜尋字串,後者為負向預查,在任何開始不匹配該正規表示式模式的位置來匹配搜尋字串。

反向引用:對乙個正規表示式模式或者部分模式,兩邊新增括號將導致相關匹配儲存到臨時緩衝區,所捕獲的每個子匹配都將按照在正規表示式模式中從左到右出現的順序儲存。緩衝區編號從1開始,最多可以儲存99個捕獲的子表示式。每個緩衝區都能用\n訪問,其中n為乙個標識特定緩衝區的以為或兩位十進位制數,反向引用的最簡單、最有用的應用之一,是提供查詢文字中兩個相同的相鄰單詞的匹配項的能力。

正規表示式從左到右進行計算,並遵循優先順序順序。

轉義符》圓括號或者方括號》限定符》定點位和序列》替換,「或」操作

正規表示式匹配規則,基本模式匹配,模式,是正規表示式最基本的元素,他們是一組描述字串特徵的字元,模式可以很簡單,由普通的字串組成,也可以非常複雜,往往用特殊的字元表示乙個範圍內的字元、重複出現,或者表示上下文。

字元簇:可以更自由的表示我們要的模式。php的正規表示式還有一些內建的字元簇,如[[:alpha:]]表示任何字母,[[:digit:]]表示任何數字等。

確定重複出現:可以跟在字元或者字元簇後面的花括號用來確定前面的內容的重複出現的次數。

常用正規表示式

一、校驗數字的表示式

以上內容**於runoob.com

php正規表示式詳解,PHP正規表示式使用詳解

操作符 描述 轉義符 圓括號和方括號 限定符 anymetacharacter 位置和順序 或 操作 全部符號解釋 字元 描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開...

php 正規表示式使用

1.界定符 例 a 匹配a 2.原子 unicode編碼中最小的單元符號,即乙個字元。原子又分為可見原子,和不可見原子。可見原子是指unicode編碼表中可見的字元。不可見原子像回車,空格,製表符之類的 3.元字元 匹配兩個或則多個分支選擇,相當於邏輯判斷中的或者 例 a v b 匹配a或者v或者b...

PHP正規表示式

php正規表示式的定義 用於描述字元排列和匹配模式的一種語法規則。它主要用於字串的模式分割 匹配 查詢及替換操作。php中的正則函式 php中有兩套正則函式,兩者功能差不多,分別為 一套是由pcre perl compatible regular expression 庫提供的。使用 preg 為字...