正規表示式學習筆記

2021-06-06 06:56:04 字數 1665 閱讀 2392

pcle模式兩端必須有乙個界定符 // 或者 ##,!! 一般用//

正規表示式最主要的組成部分:

1:原子(普通的字元) /abc/ 裡面有3個原子 a b c

1) a到z a到z 0到9 乙個字母就是乙個原子

2)模式單元 (abc)加了括號之後表示乙個原子

3)原子表 【xcy】表示原子只能從x c y這三個字元裡面去選擇

4)重新使用的模式單元 \\1 \\2 \\3

5) 普通轉義字元

\d 表示數字 \d代表除了數字以外的 \w \w \s \s

\w代表的是大小寫字母和數字,下劃線     \w除了\w之外的

\s匹配的是換行符 比如 \n 製表符 空格等等 \s表示除了空白字串

\n專門匹配換行的 \0nn 八進位制 \xnn 十六進製制

6)轉義元字元 想將元字元不當特殊字元使用的時候 就要進行轉義 比如 \? \+

2: 元字元(有特殊功能的字元 ? + * . ¥ ^)

1)字串邊界限制

^   $  /^abc/表示以abc開頭的   /abc$/ 表示以abc結尾的 /^abc$/精確匹配abc

\a  \z

2)單詞邊界限制

\b \b /\babc/ 用空格隔開的表示乙個單詞 意思是只要字串中有以abc開頭的單詞就可以 放後面表示以abc結尾的 /\babc/ 不能以abc開頭 但是要包含abc

3)重複匹配

?修字元用來修飾前面的乙個原子 用來表示這個原子可以1次或者0次的出現

* 修字元表示0次 1次或多次

+ 修字元 表示至少要出現1次

4)任何乙個字元(點),除了換行符(\n \r\n) 只匹配乙個

.5) 指定重複匹配次數 「/^ab$」 b只能出現3次 匹配的上限和下限 最少3次 最多4次

最少3次 最多隨便 後面就可以不寫

6)原子表 只能在其中選乙個原子 【^abc】除了 abc以外的和中括號外面的是不一樣的

【a-z】表示匹配a-z中任意乙個【a-za-z0-9】只有ascii是連續的 才可以用-來表示

[a-za-z0-9_]  相當於/w

a2 z7 [a-z][0-9]

0xff 0xff   0[xx][a-fa-f0-9]+

html標籤匹配格式

7)模式選擇符

| "/hello world|earth/" 豎線相當於對正規表示式進行分割 這裡面就2個增長表示式

乙個是hello world 乙個是 earth

8)模式單元 ()

/^hello (world|earth)$/ 就只能是hello world 或者 hello earth

/abb*c/

9)重新使用的模式單元

2009-09-21 或者 2009/09/21  /^\d([-\/])\d\\1\d$/

/^\d[-\/]\d[-\/]\d$/

(?:a) 表示不儲存這個模式單元

如果括號巢狀的話 /1是從外往裡計算的

3:模式修正符(是對正規表示式語義的修正 比如不區分大小寫等等)

i 可以同時匹配大小寫字母

x 忽略空白

u 匹配到最近的字串

s 可以將字串視為單行

m 可以將字串視為多行

"/abc/i" 忽略大小寫 在界定符外面寫

正規表示式學習筆記

正規表示式學習日記 1 為萬用字元,表示任何乙個字元,例如 a.c 可以匹配 anc abc acc 2 在內可以指定要求匹配的字元,例如 a nbc c 可以匹配 anc abc acc 但不可以匹配 ancc a到z可以寫成 a z 0到9可以寫成 0 9 3 數量限定符號,表示匹配次數 或者叫...

正規表示式學習筆記

字元描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了 regexp 物件的 multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束...

正規表示式學習筆記

1.正規表示式是可用於在乙個檔案或字元裡查詢和替代文字的一種標準。它具有兩種標準 基本的正規表示式 bre 擴充套件的正規表示式 ere ere包括bre功能和另外其它的概念。2.表示或運算 3.匹配任何單個字元 4.匹配任何中包含的單個字元,如 張王李 三,匹配張 三 王三,李三 5.將排除 後跟...