python re 正規表示式

2022-08-29 04:24:13 字數 1703 閱讀 8070

import re

result1 = re.match('\d+', '1sssda22wdasfsa') # 匹配開頭

print type(result1)

print result1

if result1:

print result1.group()

else:

print 'nothing'

result2 = re.search('\d+', 'ssss333dawd44asfsa') # 找到第乙個匹配

print type(result2)

print result2

if result2:

print result2.group()

else:

print 'nothing'

result3 = re.findall('\d+', 'ssss333dawd44asfsa') # 找到所有匹配,輸出列表

print type(result3)

print result3

a = 'ssss123dawd45867asf956sa'

result4 = re.compile('\d+')

print result4.findall(a) # 相比result3少了一次編譯('\d')的過程,效率更高

result5 = re.search('(\d+)\w*(\d+)', a)

result6 = re.search('(\d+)dawd(\d+)', a)

print result5.group(), result6.group()

print result5.groups(), result6.groups()

ip = 'inet 192.168.112.130/24 brd 192.168.112.255 scope global eth0'

print re.findall('(?:\d\.)\d', ip)

print re.findall('[0-9]\.[0-9]\.[0-9]\.[0-9]', ip)

輸出:<_sre.sre_match object at 0x000000000269a718>

1<_sre.sre_match object at 0x000000000269a780>

333['333', '44']

['123', '45867', '956']

123dawd45867asf956 123dawd45867

('123', '6') ('123', '45867')

['192.168.112.130', '192.168.112.255']

['192.168.112.130', '192.168.112.255']

. 匹配任意字元,換行符\n除外

* 匹配前乙個字元0次或無限次

? 匹配前乙個字元0次或一次

.* 貪心演算法

.*? 非貪心演算法

() 括號內的資料作為結果返回,分組

匹配n次

匹配n到m次

findall 匹配所以符合規律的內容,返回包含結果的列表

search 匹配並提取第乙個符合規律的內容,返回乙個正規表示式物件(obiect)

sub 替換符合規律的內容,返回替換後的值

\d 數字

+ >=1

\w 字元

\t 製表符

Python re 正規表示式

import re 匯入re模 result re.match 正規表示式,要匹配的字串 使用match 方法進行匹配操作 result.group 使用group 方法提取資料 案例 匹配變數名是否符合識別符號命名規則 res re.match a za z w name 123 print re...

正規表示式 python re

字元功能 或 分組 num 引用分組num匹配到的字串 p 分組起別名 p name 引用別名為name分組匹配到的字串 示例import re label res re.match r w w label print res.group www.itcast.cn h1 html import r...

python re 正規表示式

1 re.match str id s paragraph.text re.match 表示從變數 paragraph.text 所代表的 字串 的開始匹配模式 str id s 模式 str id s 表示 以id 某個數字 開始,s 表示0個或者多個空白符。表示結尾。2 searchobj re...