正規表示式模式
修飾符描述
re.i
使匹配對大小寫不敏感
re.m
多行匹配,影響^和$
re.s
使.匹配換行符在內的所有字元
import re
a ='it\'s a white dog. dogs are smarter animal'
b = re.findall(r'dog'
,a)c = re.findall(
'dog'
,a,re.i)
print
(b)print
(c)#輸出結果
['dog'][
'dog'
,'dog'
]
#從字串末尾匹配冒號加乙個空格後的數字串,中間有換行符\n,可以用re.m匹配多行
import re
a ='if_mib::=counter32: 12345\nif_mib::=counter32: 1234556'
b = re.findall( r'(?<=\:\s)\d+$'
, a)
#只匹配整個字串的尾部
c = re.findall( r'(?<=\:\s)\d+$'
, a, re.m)
#以換行符為乙個字串的尾部
print
(b)print
(c)#輸出結果
['1234556'][
'12345'
,'1234556'
]
>>
>
print
(re.match(
'hello.'
,'hello\nworld'))
none
>>
>
print
(re.match(
'hello.'
,'hello\nworld'
, re.s)
)<_sre.sre_match object
; span=(0
,6), match=
'hello\n'
>
re.match函式
嘗試從乙個字串的起始位置匹配乙個模式,匹配成功返回匹配物件,否則返回none。
(?i:re)示例,正規表示式包含可選標誌i,即忽略大小寫
>>
> a =
'saxsawdmddsjnkdjncj'
>>
> re.search(r'm(?i:dd)sj'
,a)none
>>
> re.search(r'm(?i:ddsj)'
,a); span=(7
,12), match=
'mddsj'
>
模式
描述\d
匹配乙個數字字元,等價於[0-9]
\d匹配乙個非數字字元,等價於[^0-9]
\s匹配任何空白字元,包括空格、製表符、換頁符等,等價於 [ \f\n\r\t\v]
\s匹配任何非空白字元,等價於 [ ^\f\n\r\t\v]
\w匹配包括下劃線的任何單詞字元,等價於[a-za-z0-9_]
\w匹配任何非單詞字元,等價[^a-za-z0-9_]
正規表示式 正規表示式 總結
非負整數 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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...