\d
匹配乙個數字
\w匹配乙個字母
.可以匹配任意字元
*需要字串裡完全符合,匹配規則,就匹配
+表示至少乙個字元
?表示0個或1個字元
表示n個字元
表示n-m個字元
[ ]表示範圍
(pip)
可以匹配大小寫p開頭的字串
^字串開始位置與匹配規則符合就匹配,否則不匹配
$字串結束位置與匹配規則符合就匹配,否則不匹配
\轉義字元(由於python字串本身也用 \ 轉義所以不常用)
r』abc-001』
代替 \ 轉義字元
\s匹配空格和tab等空白符––
什麼是正規表示式的貪婪與非貪婪匹配
如:string str=「abcaxc」;
patter p=「ab.*c」;
貪婪匹配:正規表示式一般趨向於最大長度匹配,也就是所謂的貪婪匹配。如上面使用模式p匹配字串str,結果就是匹配到:abcaxc(ab.*c)。
非貪婪匹配:就是匹配到結果就好,就少的匹配字元。如上面使用模式p匹配字串str,結果就是匹配到:abc(ab.*c)。
re模組
import re
test = '一堆字串'
if re.match(r'正規表示式',test):
print('成功')
else:
print(』失敗『)
import re #第一步,要引入re模組
test = '一堆字串'
a = re.findall("正規表示式",test) #第二步,呼叫模組函式
^的用法
import re #第一步,要引入re模組
a = re.findall("^匹配規則", "匹配規則這個字串是否匹配")
#字串開始位置與匹配規則符合就匹配,否則不匹配
[^a-z]反取,匹配出除字母外的字元,元字元如果寫到字符集裡就是反取
import re #第一步,要引入re模組
a = re.findall("[^a-z]", "匹配s規則這s個字串是否s匹配f規則則re則則則") #反取,匹配出除字母外的字元
print(a) #以列表形式返回匹配到的字串
#列印出 ['匹', '配', '規', '則', '這', '個', '字', '符', '串', '是', '否', '匹', '配', '規', '則', '則', '則', '則', '則']
✳字元的用法
import re #第一步,要引入re模組
a = re.findall("匹配規則*", "這個字串是否匹配規則則則則則") #需要字串裡完全符合,匹配規則,就匹配,(規則裡的*元字元)前面的乙個字元可以是0或多個原本字元
print(a) #以列表形式返回匹配到的字串
#列印出 ['匹配規則則則則則']
+元字元的用法
import re #第一步,要引入re模組
a = re.findall("匹配+", "匹配配配配配規則這個字串是否匹配規則則則則則") #需要字串裡完全符合,匹配規則,就匹配,(規則裡的+元字元)前面的乙個字元可以是1個或多個原本字元
print(a) #以列表形式返回匹配到的字串
#列印出 ['匹配配配配配', '匹配']
?元字元的用法
import re #第一步,要引入re模組
a = re.findall("匹配規則?", "匹配規這個字串是否匹配規則則則則則") #需要字串裡完全符合,匹配規則,就匹配,(規則裡的?元字元)前面的乙個字元可以是0個或1個原本字元
print(a) #以列表形式返回匹配到的字串
#列印出 ['匹配規', '匹配規則']
{}元字元,範圍
import re #第一步,要引入re模組
a = re.findall("匹配規則", "匹配規這個字串是否匹配規則則則則則") #匹配前乙個字元m次,匹配前乙個字元m至n次,若省略n,則匹配m至無限次
print(a) #以列表形式返回匹配到的字串
#列印出 ['匹配規則則則']
[0-9a-za-z_]可以匹配乙個數字、字母或者下劃線
[0-9a-za-z_]+可以匹配至少由乙個數字、字母或者下劃線組成的字串,比如』a100』,『0_z』,'py3000』等等;
[a-za-z_][0-9a-za-z_]可以匹配由字母或下劃線開頭,後接任意個由乙個數字、字母或者下劃線組成的字串,也就是python合法的變數(類似__init)
[a-za-z_][0-9a-za-z_]更精確地限制了變數的長度是1-20個字元(前面1個字元+後面最多19個字元)。
參考源**
正規表示式 正規表示式 總結
非負整數 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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...