1. 程式人生 > 實用技巧 >02-script元素

02-script元素

re.match函式

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

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

 

re.search方法

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

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

re.match與re.search的區別

re.match只匹配字串的開始,如果字串開始不符合正則表示式,則匹配失敗,函式返回None;而re.search匹配整個字串,直到找到一個匹配。

檢索和替換

Python 的 re 模組提供了re.sub用於替換字串中的匹配項。

import re
 
phone = "2004-959-559 # 這是一個國外電話號碼"
 
# 刪除字串中的 Python註釋 
num = re.sub(r'#.*$', "", phone)
print "電話號碼是: ", num
 
# 刪除非數字(-)的字串 
num = re.sub(r'\D', "", phone)
print "電話號碼是 : ", num

  

findall

在字串中找到正則表示式所匹配的所有子串,並返回一個列表,如果沒有找到匹配的,則返回空列表。

注意:match 和 search 是匹配一次 findall 匹配所有。

m = re.findall(r"<span class=\"quan\">.*?<\/span>", html)

  

findall

在字串中找到正則表示式所匹配的所有子串,並返回一個列表,如果沒有找到匹配的,則返回空列表。

注意:match 和 search 是匹配一次 findall 匹配所有。