正規表示式筆記

2021-10-09 18:32:53 字數 1501 閱讀 8262

目錄

一、常用元字元

二、反向字元

三、修飾符

四、優先順序 ^

匹配輸入字串的開始位置。

\將下乙個字元標記為乙個特殊字元、或乙個原義字元、或乙個 向後引用、或乙個八進位制轉義符。例如,'n' 匹配字元 "n"。'\n' 匹配乙個換行符。序列 '\\' 匹配 "\" 而 "\(" 則匹配 "("。

$匹配輸入字串的結束位置

*匹配前面的子表示式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等價於

+匹配前面的子表示式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等價於 。

?匹配前面的子表示式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 。? 等價於 。

n 是乙個非負整數。匹配確定的 n 次。例如,'o' 不能匹配 "bob" 中的 'o',但是能匹配 "food" 中的兩個 o。

例如正則 "a" 將a重複匹配3次或者4次 所以供匹配的字元可以是三個"aaa"也可以是四個"aaaa" 正則都可以匹配到

與不同之處就在於匹配的次數將沒有上限,但至少要重複n次 如 正則"a" a至少要重複3次

\w匹配字母或數字或下劃線,等價於 [a-za-z0-9_]

\d匹配數字,相當於[0-9]

\b匹配乙個單詞邊界,即字與空格間的位置

|指明兩項之間的乙個選擇。

.匹配除了換行符以外的任何字元

( )標記乙個子表示式的開始和結束位置

\t匹配乙個製表符

\r匹配乙個回車符

\n匹配乙個換行符。

\f匹配乙個換頁符。

\s匹配所有空白符,包括換行

\s匹配任意不是空白符的字元

\w匹配任意不是字母,數字,下劃線 的字元

\d匹配任意 不是數字的字元

\b匹配不是單詞開頭或結束的位置

[^abc]

匹配除了abc以外的任意字元

iignore - 不區分大小寫

將匹配設定為不區分大小寫,搜尋時不區分大小寫: a 和 a 沒有區別。

gglobal - 全域性匹配

查詢所有的匹配項。

mmore - 多行匹配

使邊界字元 ^ 和 $ 匹配每一行的開頭和結尾,記住是多行,而不是整個字串的開頭和結尾。

s特殊字元圓點 . 中包含換行符 \n

預設情況下的圓點 . 是 匹配除換行符 \n 之外的任何字元,加上 s 修飾符之後, . 中包含換行符 \n。

\轉義符

(), (?:), (?=),

圓括號和方括號

*, +, ?, , ,

限定符^, $, \任何元字元、任何字元

定位點和序列(即:位置和順序)

|替換,"或"操作

字元具有高於替換運算子的優先順序,使得"m|food"匹配"m"或"food"。若要匹配"mood"或"food",請使用括號建立子表示式,從而產生"(m|f)ood"。

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

筆記直接使用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 匹...