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