python正則表達(dá)式之re.match()與re.search()的用法及區(qū)別
1、re.match()的用法
re.match()方法是從起始位置開始匹配一個模式,匹配成功返回一個對象,未匹配成功返回None。
語法:
re.match(pattern, string, flags=0)
參數(shù)說明:
- pattern:匹配的正則表達(dá)式;
- string:要匹配的字符串;
- flags:標(biāo)志位,用于控制正則表達(dá)式的匹配方式,如:是否區(qū)分大小寫,多行匹配等等;
示例如下:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import re
if __name__ == '__main__':
# 匹配模式
test_pattern = r"\d{2}年"
# 待匹配的字符串
test = "18年2019年2020年"
print(re.match(test_pattern, test).group())
輸出:
18年
Process finished with exit code 0
若將匹配模式改成:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import re
if __name__ == '__main__':
# 匹配模式
test_pattern = r"\d{4}年"
# 待匹配的字符串
test = "18年2019年2020年"
print(re.match(test_pattern, test))
則返回結(jié)果為:
None
Process finished with exit code 0
這是因為re.match()僅從頭開始匹配,由于起始位置處未找到符合匹配模式的內(nèi)容,返回None。
2、re.search()的用法
re.search()方法是掃描整個字符串內(nèi)進(jìn)行模式匹配,只要找到第一個匹配就返回,如果字符串沒有匹配,則返回None。
語法:
re.search(pattern, string, flags=0)
參數(shù)說明:
- pattern:匹配的正則表達(dá)式;
- string:要匹配的字符串;
- flags:標(biāo)志位,用于控制正則表達(dá)式的匹配方式,如:是否區(qū)分大小寫,多行匹配等等;
示例如下:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import re
if __name__ == '__main__':
# 匹配模式
test_pattern = r"\d{4}年"
# 待匹配的字符串
test = "18年2019年2020年"
print(re.search(test_pattern, test).group())
輸出:
2019年
Process finished with exit code 0
這是因為re.search()掃描整個字符串,找到符合匹配模式的第一個匹配就返回了。
3、re.match()與re.search()的區(qū)別
re.match()方法要求必須從字符串的開頭進(jìn)行匹配,如果字符串開頭不符合模式規(guī)則,整個匹配就失敗了,函數(shù)返回None;
re.search()并不要求必須從字符串的開頭進(jìn)行匹配,而是掃描整個字符串,直到找到第一個匹配。
到此這篇關(guān)于python正則表達(dá)式之re.match()與re.search()的用法及區(qū)別的文章就介紹到這了,更多相關(guān)python re.match()與re.search()內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
tensorflow 固定部分參數(shù)訓(xùn)練,只訓(xùn)練部分參數(shù)的實例
今天小編就為大家分享一篇tensorflow 固定部分參數(shù)訓(xùn)練,只訓(xùn)練部分參數(shù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
Python實現(xiàn)的人工神經(jīng)網(wǎng)絡(luò)算法示例【基于反向傳播算法】
這篇文章主要介紹了Python實現(xiàn)的人工神經(jīng)網(wǎng)絡(luò)算法,結(jié)合實例形式分析了Python基于反向傳播算法實現(xiàn)的人工神經(jīng)網(wǎng)絡(luò)相關(guān)操作技巧,需要的朋友可以參考下2017-11-11
Python 數(shù)據(jù)分析之Beautiful Soup 提取頁面信息
Beautiful Soup 提供一些簡單的、python 式的函數(shù)用來處理導(dǎo)航、搜索、修改分析樹等功能。它是一個工具箱,通過解析文檔為用戶提供需要抓取的數(shù)據(jù),因為簡單,所以不需要多少代碼就可以寫出一個完整的應(yīng)用程序2021-10-10
Python中print函數(shù)簡單使用總結(jié)
在本篇文章里小編給大家整理的是關(guān)于Python中怎么使用print函數(shù)的相關(guān)知識點內(nèi)容,需要的朋友們可以學(xué)習(xí)下。2019-08-08

