正規表示式學習筆記 要點整理

2021-08-27 07:01:01 字數 2393 閱讀 7186

1、介紹和作用:

在編寫處理字串的程式或網頁時,經常會有查詢符合某些複雜規則的字串的需要。正規表示式就是用於描述這些規則的語法。

主要作用:分割、匹配、查詢、替換字串

2、php中兩個常用的正則函式

preg_match(mode,string subject,array matches)

ereg(mode,string subject,array regs)

3、正規表示式中包括的元素

(1) 、原子 (普通字元:a-z a-z 0-9、原子表、轉移字元)

(2) 、元字元 (有特殊功能的字元)

(3)、模式匹配符(i、m 、s 、u ...)

4、正規表示式中的「原子」

(1) a-z a-z 0-9 //最常見的字元

(2)(abc)(skd) //用圓括號包含起來的單元復合 。乙個整體做匹配

(3) [abcs] [^abd] //用方括號包含的原子表,原子表中的^ 代表排除或相反內容 。出現其中乙個即可。

(4)轉義字元

\d 包含所有數字[0-9]

\d 除所有數字外[^0-9]

\w 包含所有英文本元 [a-z a-z0-9_]

\w 除有英文本元外 [^a-z a-z0-9_]

\s 包含空白區域如回車、換行、分頁等[\f\n\r]

5、正則函式舉例

$mod = "#abc#"

$str = "1234abcdefabdef";

if(preg_match($mod, $str , $arr))else 匹配前乙個內容的重複次數為m次

匹配前乙個內容的重複次數大於等於m次

匹配前乙個內容的重複次數m次到n次

( ) 合併整體匹配,並放入記憶體,可使用\1 \2…依次獲取

舉例:$mod = "/g.*gle/" ; //0個、1個或多個字元

$mod2 = "/g.?gle/" ;//0個或1個字元

$mod 3= "/g.+gle/ "; //1個或多個字元

$mod8 = "/2009(.*)02\\1(15)"; // \\1即前面(.*)的內容 。日期匹配 "/[0-9](.*)[0-9]\\1[0-9]/"

$str8 = "2009-02-15"; // 也匹配"2009/02/15" ,前後保持一致即匹配

7、正規表示式中的「

模式修正符」

運算順序

( ) 圓括號因為是記憶體處理所以最高

* ? + 重複匹配內容其次

^ $ \b 邊界處理第三

| 條件處理第四

最後按照運算順序計算匹配

模式修正符

i 正則內容在匹配時候不區分大小寫(預設是區分的)

m 在匹配首內容或者尾內容時候採用多行識別匹配

s 將轉義回車取消是為單行匹配如. 匹配的時候

x 忽略正則中的空白

a 強制從頭開始匹配

d 強制$匹配尾部無任何內容 \n

u 禁止貪婪匹配 只跟蹤到最近的乙個匹配符並結束,

常用在採集程式上的正規表示式

8、正規表示式在php中的應用

匹配功能 、替換功能 、分割功能

(1)、匹配功能

preg_match_all 全部匹配函式

preg_match_all ( string pattern, string subject, array matches [, int flags] )

對結果排序使 $matches[0] 為全部模式匹配的陣列

用途:擷取比較詳細的內容,採集網頁,分析文字

(2)替換功能

preg_replace 正則替換函式

preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit] )

功能要強於它。

b、替換內容可以通過修正符e來解決替換執行內容

用途:替換一些比較複雜的內容上,也可以用於內容的轉換上

(3)分割功能

preg_split 正則切割

preg_split ( string pattern, string subject [, int limit [, int flags]] )

只能按照一種方式切割有侷限性。

正規表示式知識點整理

匹配任何乙個單個字元 字母 數字,包括 本身 定義字元集合,可匹配集合中的任何乙個。字元區間可以用 來定義。取非匹配,匹配字元集合外的任何乙個 取或匹配,可匹配其中任意乙個 轉義字元 f 換頁符 n 換行符 r 回車符 t 製表符 v 垂直製表符 r n文字行結束標籤 r n r n匹配兩行之間的空...

正規表示式知識點整理

定位符 b 匹配單詞的開始或結束 b匹配不是單詞開頭或結 束的位置 匹配字串的開始 匹配字串的結束 內容匹配 w匹配字母或數字或下劃 線或漢字 w匹配非字母或數字或下 劃線或漢字的字元 d匹配數字 d匹配非數字 s匹配任意的空白符 s匹配任何非空白字元 匹配除換行符以外的 任意字元 f匹配乙個換頁符...

正規表示式要點

string物件方法 regexp靜態屬性 取值前需先測試匹配 兩個實踐 利用分組可用 x表示以及replace返回值的性質實踐特定的功能 1.列印選定的分組 2.交換文字順序 alert result 只匹配第乙個a,即遇到匹配項就停止匹配 var pattern 8 8 g var str th...