python正則表達式re.match以及re.search函數


re.match 嘗試從字符串的起始位置匹配一個模式,如果不是起始位置匹配成功的話,match()就返回none。

例子1:

#!/usr/bin/python

import re

print(re.match('www', 'www.runoob.com').span()) # 在起始位置匹配  #過濾掉一些信息,只留位置,返回元組

print(re.match('com', 'www.runoob.com')) # 不在起始位置匹配

結果為:

(0,3)

 None

 

例子2:

#!/usr/bin/python3 

import re

line = "Cats are smarter than dogs" # .* 表示任意匹配除換行符(\n、\r)之外的任何單個或多個字符

matchObj = re.match( r'(.*) are (.*?) .*', line, re.M|re.I)

if matchObj:

print ("matchObj.group() : ", matchObj.group())

print ("matchObj.group(1) : ", matchObj.group(1))

print ("matchObj.group(2) : ", matchObj.group(2))

else: print ("No match!!")

以上實例執行結果如下:

matchObj.group() : Cats are smarter than dogs
matchObj.group(1) : Cats
matchObj.group(2) : smarter

 

 

re.search 掃描整個字符串並返回第一個成功的匹配。

#!/usr/bin/python3
import re
print(re.search('www', 'www.runoob.com').span()) # 在起始位置匹配
print(re.search('com', 'www.runoob.com').span()) # 不在起始位置匹配

結果為:

(0, 3)
(11, 14)

 



 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM