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)文章
Linux 下 Python 實現(xiàn)按任意鍵退出的實現(xiàn)方法
這篇文章主要介紹了Linux 下 Python 實現(xiàn)按任意鍵退出的實現(xiàn)方法的相關(guān)資料,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下2016-09-09Python Pydantic進行數(shù)據(jù)驗證的方法詳解
在 Python 中,有許多庫可用于數(shù)據(jù)驗證和處理,其中一個流行的選擇是 Pydantic,下面就跟隨小編一起學(xué)習(xí)一下Pydantic 的基本概念和用法吧2024-01-01python實現(xiàn)植物大戰(zhàn)僵尸游戲?qū)嵗a
這篇文章主要給大家介紹了關(guān)于python實現(xiàn)植物大戰(zhàn)僵尸游戲的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06Appium+Python+pytest自動化測試框架的實戰(zhàn)
本文主要介紹了Appium+Python+pytest自動化測試框架的實戰(zhàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12tensorflow入門:tfrecord 和tf.data.TFRecordDataset的使用
今天小編就為大家分享一篇tensorflow入門:tfrecord 和tf.data.TFRecordDataset的使用,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01Python爬蟲urllib和requests的區(qū)別詳解
這篇文章主要介紹了Python爬蟲urllib和requests的區(qū)別詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-09-09Python解析命令行讀取參數(shù)之a(chǎn)rgparse模塊
這篇文章主要介紹了Python解析命令行讀取參數(shù)之a(chǎn)rgparse模塊,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07