正規表示式

2022-02-13 01:22:43 字數 1445 閱讀 4226

正規表示式是用於處理字串的強大工具, 檢查乙個字串是否與某種模式匹配。

#  .   ^   $   *   +   ?   {}     \   |   ()
大多數字母和字元會匹配它們自身,有少數特殊字元我們稱為元字元,它們不能匹配自身,它們定義了字元類、子組匹配和模式重複次數等

.    匹配除換行符之外的所有的字元 

\d 匹配0~9的數字

\s 匹配任意的空白符,包括空格,製表符(tab),換行符等

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

\b 表示單詞的邊界

^ 脫字元,匹配輸入字串的開始的位置

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

\. 表示匹配點號本身

\d、\s、\w、\b是與小寫的相反的作用

m和n 為非負整數,其中m<=n表示前面的匹配m~n次

表示需要匹配m次

等價於表示需要匹配n次

* 匹配前面的子表示式零次或多次,等價於

+ 匹配前面的子表示式一次或多次,等價於

? 匹配前面的子表示式零次或一次,等價於

注:*?、+?、? 貪婪與懶惰

[ ]   字元類,將要匹配的一類字符集放在裡面

例如:[ . ? * ( ) {} ] 匹配裡面的這些符號

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

[^\d] 匹配除數字以外的字元,相當於\d

[a-z] 匹配所有的小寫字母

[^a-z] 匹配非小寫字母

|   相當於或(or)分支條件

例如:a | b 匹配字母a或者b 與[ab]是一樣的

()  分組,將要匹配的一類字符集放在()組成乙個小組 

例如: (\d) 匹配乙個三位數

a(bc)*匹配乙個a和0個或多個bc

a(b|c) 匹配ab或者ac

re.compile() 編譯正規表示式為模式物件

re模組的常用方法

match() 判斷乙個正規表示式是否從開始處匹配字串

search() 遍歷字串,找到正規表示式匹配的第乙個位置

findall() 遍歷字串,找到正規表示式匹配的所有位置並以列表的形式返回

檢視匹配物件中的資訊

group() 返回匹配到的字串

star()返回匹配的開始位置

end()返回匹配的結束位置

span() 返回乙個元組表示匹配位置(開始,結束)

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...