正規表示式是用於處理字串的強大工具, 檢查乙個字串是否與某種模式匹配。
# . ^ $ * + ? {} \ | ()
大多數字母和字元會匹配它們自身,有少數特殊字元我們稱為元字元,它們不能匹配自身,它們定義了字元類、子組匹配和模式重複次數等
。
. 匹配除換行符之外的所有的字元
\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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...