python?包之?re?正則匹配教程分享
一、開頭匹配
- 從字符串開頭開始匹配
- 返回匹配對象;如果找不到匹配,則為None
import re
print(re.match('飛兔小哥', '飛兔小哥教你零基礎(chǔ)學(xué)編程'))
print(re.match('學(xué)編程', '飛兔小哥教你零基礎(chǔ)學(xué)編程'))二、全匹配
- 匹配字符串是否和給定的字符一模一樣
- 如果一模一樣才返回匹配對象,如果找不到匹配,則為None
import re
print(re.fullmatch('飛兔小哥教你零基礎(chǔ)學(xué)編程', '飛兔小哥教你零基礎(chǔ)學(xué)編程'))
print(re.fullmatch('飛兔小哥', '飛兔小哥教你零基礎(chǔ)學(xué)編程'))三、部分匹配
- 只要在字符串中找到字符存在即可
- 找到返回匹配對象,如果找不到匹配,則為None
import re
print(re.search('autofelix', '飛兔小哥教你零基礎(chǔ)學(xué)編程'))
print(re.search('飛兔小哥', '飛兔小哥教你零基礎(chǔ)學(xué)編程'))四、匹配替換
- 用正則表達式去匹配原始字符串,并把匹配到的內(nèi)容替換
import re # 去掉電話號碼中的- num = re.sub(r'\D', '', '188-1926-8053') print(num) # 18819268053
五、匹配替換返回數(shù)量
- 用正則表達式去匹配原始字符串,并把匹配到的內(nèi)容替換
- 并且返回被替換掉的數(shù)量
import re # 去掉電話號碼中的- num = re.subn(r'\D', '', '188-1926-8053') print(num) # (18819268053, 2)
六、分割字符串
- 按照正則表達式的規(guī)則來分割字符串,并返回列表
- 可以規(guī)定分割的次數(shù)
import re
print(re.split('a*', 'hello world'))
# ['', 'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '']
print(re.split('a*', 'hello world', 1))
# ['', 'hello world']七、匹配所有
- 在字符串中匹配所有符合正則表達式的對象
- 并把這些對象通過列表list的形式返回
import re
pattern = re.compile(r'\W+')
result1 = pattern.findall('hello world!')
result2 = pattern.findall('hello world!', 0, 7)
print(result1)
# [' ', '!']
print(result2)
# [' ']八、迭代器匹配
- 在字符串中匹配所有符合正則表達式的對象
- 并把這些對象通過迭代器的形式返回
import re
pattern = re.compile(r'\W+')
result = pattern.finditer('hello world!')
for r in result:
print(r)九、編譯對象
- 把正則表達式編譯成Pattern對象
import re pattern = re.compile(r'\W+')
十、修飾符
- re.I:忽略大小寫
- re.L:本地化識別匹配
- re.M:多行匹配
- re.S:使.匹配包括換行在內(nèi)的所有字符
- re.U:根據(jù)unicode字符解析字符
- re.X:給予靈活的格式以便理解
import re content = "Cats are smarter than dogs" print(re.search(r'DOGS', content, re.M | re.I))
到此這篇關(guān)于python 包之 re 正則匹配教程分享的文章就介紹到這了,更多相關(guān)python 包 re 正則匹配內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Object arrays cannot be loaded when
這篇文章主要介紹了Object arrays cannot be loaded when allow_pickle=False,本文給大家分享問題解決思路,需要的朋友可以參考下2022-11-11
Python定時任務(wù)框架APScheduler安裝使用詳解
這篇文章主要介紹了Python定時任務(wù)框架APScheduler安裝使用詳解,重點介紹如何使用APscheduler實現(xiàn)python定時任務(wù),本文通過實例代碼給大家介紹的非常詳細,對Python定時任務(wù)APScheduler相關(guān)知識感興趣的朋友一起看看吧2022-05-05
Python+pyplot繪制帶文本標(biāo)注的柱狀圖方法
今天小編就為大家分享一篇Python+pyplot繪制帶文本標(biāo)注的柱狀圖方法,具有很好的價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07
Python requests.post()方法中data和json參數(shù)的使用方法
這篇文章主要介紹了Python requests.post()方法中data和json參數(shù)的使用方法,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下2022-08-08
opencv+圖像處理(Image Processing in OpenCV)
這篇文章主要介紹了opencv+圖像處理(Image Processing in OpenCV) 4-0改變顏色空間,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04
python學(xué)習(xí)Selenium介紹及安裝部署詳解
這篇文章主要為大家介紹了python學(xué)習(xí)中Selenium介紹以及如何安裝部署的詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2021-10-10
Linux安裝Python3如何和系統(tǒng)自帶的Python2并存
這篇文章主要介紹了Linux安裝Python3如何和系統(tǒng)自帶的Python2并存,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-07-07

