正規表示式:
就是事先定義好一些特殊字元,及特定字元的組合,組成乙個「規則字串」,這個規則字串用來表達對字串的乙個過濾邏輯
|字元| 含義 |
match 方法
match 方法用於查詢字串的頭部(也可以指定起始位置),它是一次匹配,只要找到了乙個匹配的結果就返回,而不是查詢所有匹配的結果
貪婪模式:貪婪模式盡可能多的匹配
import re
def run():
head=『hello 1234yytttzz好w』
result=re.match("^he.*(\d+).*w$",head)
print(result.group(1))
ifname== 『main』:
run()
輸出:1
非貪婪模式:貪婪模式盡可能少的匹配
import re
def run():
head=『hello 1234yytttzz好w』
result=re.match("^he.*?(\d+).*w$",head)
print(result.group(1))
ifname== 『main』:
run()
輸出:1234
匹配換行符:
import re
def run():
head=『hello 1234yytttzz好w』
『we23』
result=re.match("^he.*?(\d+).*23$",head,re.s)
print(result.group(1))
ifname== 『main』:
run()
re.search
掃瞄整個字串並返回第乙個成功的匹配(相比match更好)
例如:
import re
def run():
head='hello 1234yytttzz好w'
result=re.search("e.*?(\d+).*",head)
print(result.group(1))
if __name__ == '__main__':
run()
輸出1234
re.findall
搜尋字串,以列表的形式返回全部能匹配的子串
re.sub
替換字串中每乙個匹配的子串後返回替換後的字串
import re
def run():
str="httm/usi1123 yu" \
"123yy"
result=re.sub('\d+','',str) #將數字替換為空
print(result)
if __name__ == '__main__':
run()
re.compile
將乙個字串編譯成正規表示式,以便於復用該匹配模式
re.i:使匹配對大小寫不敏感
re.l:做本地化識別匹配
re.m:多行匹配
re.s:匹配包括換行在內的多有字元
re.u:根據unicode字符集解析字元,這個標誌影響\w,\w , \b,\b
re.x:通過給予你更靈活的格式,方便正規表示式寫的更易理解
爬蟲 正規表示式
正規表示式 regular expression 是一種字串匹配的模式 pattern 它可以檢查乙個字串是否含有某種子串 替換匹配的子串 提取某個字串中匹配的子串。匯入正則模組 importre 字元匹配 rs re.findall abc adc print rs rs re.findall a...
python爬蟲 正規表示式
正規表示式是十分高效而優美的匹配字串工具,一定要好好掌握。利用正規表示式可以輕易地從返回的頁面中提取出我們想要的內容。1 貪婪模式與非貪婪模式 python預設是貪婪模式。貪婪模式,總是嘗試匹配盡可能多的字元 非貪婪模式,總是嘗試盡可能少的字元。一般採用非貪婪模式來提取。2 反斜槓問題 正規表示式裡...
Python爬蟲 正規表示式
一般的正規表示式都可直接到正則生成工具處生成,常見匹配字元 re.match及其常規匹配 re.match 嘗試從字串的起始位置匹配乙個模式,如果不是起始位置匹配成功的話,match 就返回none。re.match pattern,string,flags 0 返回的為乙個物件,其中span代表長...