正規表示式

2021-08-28 14:41:24 字數 1690 閱讀 8752

正規表示式模式

修飾符描述

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正規表示式 編寫正規表示式

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