正規表示式筆記

2022-02-06 18:53:36 字數 1058 閱讀 1150

1.\b不匹配字元,只匹配乙個位置:它的前乙個字元或者後乙個字元不全是(乙個是,乙個不是或不存在)\w。

2.\s匹配任意的空白符,包括空格,製表符(tab),換行符,中文全形空格等。

3.\w匹配字母或數字或下劃線或漢字等。

4..匹配換行符(\n)以外的任意字元。

5.\d匹配數字。

6.^匹配字串的開始。

7.$匹配字串的結束。

8.\d,匹配不少於5,不多於10個數字字串。

9.|意為或,從左到右匹配分支條件。

10.用來自定義範圍,-範圍符號,

[123],為1,2,3中的乙個,

[1-3],1到3,

[a-za-z0-9],大小寫英文+數字,等同\w(如果只考慮英文的話)

11.()標記乙個子表示式,預設自動命名(從1開始),在後續表示式中可以引用該子表示式所捕獲到的文字:

\b(\w+)\b\s+\1\b 可以匹配 go go, kitty kitty等, (\w+)表示式被自動命名為1被後文引用:\1

自定義命名,用(?exp)或(?'name'exp),引用方式用\k或\k'name':

\b(?\w+)\b\s+\k\b

\b(?'love'\w+)\b\s+\k'love'\b

不捕獲文字,也不自動命名分組:

(?:exp)

用專業術語來說,這個叫做分組以及後向引用,哈哈哈。。

12.(?=exp)    \b\w+(?=ing\b)匹配以ing結尾的單詞的前面部分(除了ing以外的部分)

(?<=exp)    (?<=start)\w+\b匹配以start開頭的單詞的後半部分(除了start以外的部分)

13.q(?!\d)匹配q後面不跟著乙個數字,並且不消費字元,後續的匹配從q後第二個字元開始

而^\d則會消費字元,後續的匹配從q後第乙個字元開始

14.單行模式匹配只是更改.的含義,使它與每乙個字元匹配(包括換行符\n)

多行模式則是更改^和$的含義,使它們分別在任意一行的行首和行尾匹配(不再是整個字串的開頭和結尾)

名字讓人疑惑,但其實兩種模式可以同時開啟。

正規表示式 正規表示式函式 筆記

筆記直接使用pycharm製作,需要原始檔請私聊。正規表示式函式 1.match 2.search 3.全域性匹配函式 全域性匹配 re.compile 正規表示式 findall 資料 import re string poythonydasadcasa pat2 p.y 懶惰模式執行 較精準 r...

正規表示式筆記

不同的語系編碼的順序不一樣 lang c 0 1 2 3 a b c d z a b c d z lang zh cn 0 1 2 3 4 a a b b c c z z 使用正規表示式時,需要留意環境的語系是什麼,否則會有不同的結果 alnum 英文大小寫字元及數字 0 9 a z a z alp...

正規表示式筆記

d 0 9中的任意乙個數字 w a z,a z,0 9,中的任意乙個,即字母數字下劃線 s 空格,製表符,換頁符等空白字元的其中任意乙個 小數點可以匹配換行符 n 以外的任意乙個字元 匹配某範圍內的任意乙個字元 ab9 匹配 a b 9 中的任意乙個 abc 匹配abc之外的任意乙個字元 a g 匹...