正規表示式

2021-09-29 06:54:10 字數 1447 閱讀 2583

import re

# 從第乙個字元每個字元 開始就必須匹配

匹配結果物件 = re.match(正則,資料)

# 從頭開始搜尋 並且嘗試匹配

匹配結果物件 = re.search(正則,資料)

# 匹配所有符合條件的資料

匹配結果物件 = re.

compile

(正則)

.findall(資料)

匹配單個字元的字元- 元字元

. 匹配乙個任意字元《預設除\n re.s 模式可以匹配\n >

匹配[

]中任意乙個字元[-

] 匹配[

]中範圍內任意乙個字元[^

] 禁止匹配[

]中任意乙個字元

\d \d 乙個數字字元、非數字字元

\s \s 乙個空白字元、非空白 \s=

[\r\n\v\t\f ]

\w \w 乙個單詞字元《數字字母下劃線》 py3re.u 匹配漢字; re.a 不匹配漢字

匹配大於等於m 次  小於等於 n次

+ 至少 1 次

* 至少 0 次

? 1 次或者 0 次

^    匹配開始位置

$ 匹配結束位置

r"正則1|2|3|4...." 匹配|左右任意乙個表示式

# 1 建立有名分組: r"(?p《分組名字》正則)"

# 2 分組引用 r"(?p《分組名字》正則) (?p=name)"

res = re.match(

r"^(?p\d)-(?p\d) (?p=area)-(?p=no)$"

,"020-98765432 020-98765432"

)

# 1 在 python 中正則預設是貪婪模式  盡可能多匹配

# 2 預設貪婪模式變為懶惰模式 可能少匹配 在量詞後加?

# 3 貪婪和懶惰都是有前提的: 整體匹配結果滿足

res = re.match(r"^(\d+)(\d+)$"

,"123456789"

)# 12345678,9

res = re.match(r"^(\d+?)(\d+)$"

,"123456789"

)# 1,23456789

res = re.match(r"^(\d+?)(\d)$"

,"123456789"

)# '12345678', '9'

res = re.match(r"^(\d+)(\d)$"

,"123456789"

)# '1', '23456789'

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

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

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