正規表示式for python

2021-09-19 06:17:12 字數 1213 閱讀 1962

re模組

import re

re.match(正規表示式, 需要處理的字串)

re.match(r"hello", 「hello world」)

有返回值則匹配成功,無返回值則匹配不成功

a=re.match()

a.group() 得到匹配的資訊

單個字元匹配

[ 1-8 ] 匹配1到8

【1-36-8】 1到3以及6到8

re.match(正規表示式, 字串, re.i) 忽略大小寫

re.a 不考慮中文

re.u 中文也算

re.s 讓 . 匹配任意包括

4.{}

前面緊挨著的重複幾次

\d 1到3位的數字

\d 必須3位數字

\d 表示3位或3位以上

?1.前面緊挨著的可有可無

非貪婪前面緊挨著的可以有多個或0個

7. +

前面緊挨著的可以有多個或1個

8. $

結尾9. ^

1.出現在字元開頭:開頭

2. 不出現字元開頭:表示非,舉例:a^b 表示a後邊非b

10. |

或11. ()

分組,用group(n) 呼叫

groups() 呼叫所有分組

group(1,2) 呼叫第一和第二分組

\1 在正規表示式中呼叫第乙個括號分組

分組取名 (?p《變數名》資訊)

呼叫取名的分組 (?p=變數名)

12. search() 不從頭匹配

match() 從頭匹配

findall() 找到所有,無需group()

sub() 替換

舉例:re.sub(r"\d+", 「998」, 「pyrhon = 997, c++ = 1024」)

輸出 python = 998,c++ = 998

舉例2:re.sub(r"\d+", fuction, 「pyrhon = 997」) 呼叫函式

fuction(temp):

a = temp.group() a就等於997

return 997替換為return

split() 切割,無需group()

13.?:

適用於括號不讀取分組

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

非負整數 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正規表示式 編寫正規表示式

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