Python 正則表達式-函數用法分析

2021-01-11 賈碼農

Python正則表達式的主要作用是檢索、替換符合匹配規則的文本,什麼時候檢索,什麼時候替換,我們根據需求,選擇最合適的函數。

不管是檢索還是替換,都需要匹配規則,我們根據需要編寫了匹配規則,但我們寫的匹配規則計算機並不會直接用來匹配,計算機會把我們寫的匹配規則轉換成它的規則,這個過程我們叫做編譯(compile),這個編譯過程我們看不見,但比較耗時,為了提高效率,就將編譯過後的正則表達式放到緩存中,內存可能會影響其他程序,當我們需要優化佔用內存的時可以清除緩存(purge)。

【函數一】compile(pattern, flags=0)

我們編寫的正則表達式 pattern,指定使用的模式 flags 默認為0 即不使用任何模式

【函數二】 purge()

這個函數的作用是清除緩存中的正則表達式

【函數三】escape(pattern)

如果需要操作的文本中含有正則的元字符時,需要將元字符加上反斜扛 \ 去匹配自身,如果包含的元字符多了就顯得繁雜,這時就用這個函數

【函數四】findall(pattern, string, flags=0)

這時非常常用的函數,它作用是在待操作字符串(string)中尋找所有匹配正則表達式(pattern)的字串,返回一個列表,如果沒有匹配,返回一個空列表。

findall的用法

【函數五】finditer(pattern, string, flags=0)

與findall不同的是返回一個迭代器

【函數六】match(pattern, string, flags=0)

match是從字符串開始處開始查找,匹配一個就不再繼續查找,返回值為 一個SRE_Match 對象,找不到時返回 None。

【函數七】search(pattern, string, flags=0)

search與match類似,但並不限制從字符串開始處查找

【函數八】split(pattern, string, maxsplit=0, flags=0)

函數使用給定正則表達式(pattern)尋找切分字符串(string,)位置,按分割次數(maxsplit),返回包含切分後子串的列表 ,如果匹配不到,則返回包含原字符串的一個列表

【函數九】sub(pattern, repl, string, count=0, flags=0)

這個也是常用函數,替換函數,將正則表達式(pattern)匹配到的字符串替換為(repl)指定的字符串, 參數(count)用於指定最大替換次數

repl指定有三種方是:

1、固定的字符串

正則表達式替換應用1

2、使用前面匹配的到的內容 \1 代表 pattern 中捕獲到的第一個分組的內容

正則表達式替換應用2

3、使用函數型 repl 參數,處理匹配到的 SRE_Match 對象

正則表達式替換應用3

相關焦點

  • python正則表達式使用方法說明
    曾光紅/文 (同步發布豆瓜網)一、導入re庫python使用正則表達式要導入re庫。import re在re庫中。正則表達式通常被用來檢索查找、替換那些符合某個模式(規則)的文本。5.數字「\d」正則表達式裡面使用「\d」來表示一位數字。再次強調一下,「\d」雖然是由反斜槓和字母d構成的,但是要把「\d」看成一個正則表達式符號整體。6.小括號「()」小括號可以把括號裡面的內容提取出來。
  • Python每天一分鐘:lambda表達式 (匿名函數)及用法詳解
    lambda表達式介紹python中有一種靈活,便捷的且具有函數功能的表達式:lambda表達式!lambda 表達式可以用來替換局部函數(感興趣的讀者可以自行查閱「局部函數」),下面為大家演示lambda表達式的具體用法。
  • 正則表達式A - 方法及特殊字符用法
    .正則表達式的用法 正則表達式概念: 正則表達式是由普通字符及特殊字符組成的對字符串進行過濾的邏輯公式 正則表達式的創建方式: 1.字面量方式創建 (隱式創建): var reg = /正則表達式/gi;
  • Python:正則表達式基本符號總結
    字符串是我們在編程的時候很常用的一種數據類型,檢查會在字符串裡面查找一些內容,對於比較簡單的查找,字符串裡面就有一些內置的方法可以處理,對於比較複雜的字符串查找,或者是有一些內容經常變化的字符串裡面查找,那麼字符串內置的查找方法已經不好使了,滿足不了我們的要求,這個時候就得用正則表達式了,正則表達式就是用來匹配一些比較複雜的字符串。
  • Python「正則表達式」詳解(上)
    大家好,今天我們一起學習以下Python中的「正則表達式」,說到正則表達式,大家可能比較陌生,不過我卻要告訴你,你每天都在使用正則表達式,不要不承認,就問你最常見的,瀏覽器每天用不?淘寶經常逛不?你在搜索框裡輸入幾個文字,按下回車,就出來大量結果,你想想這是怎麼辦到的,是正則表達式,可以好不誇張的講,沒有正則表達式,就沒有搜尋引擎。
  • 學習Python正則表達式
    Python中的正則表達式(re)就可以解決這個問題!正則表達式正則表達式是一個具有特殊字符的序列。它有助於檢查字符串中的每個字符,看它是否與某個模式匹配:哪些字符在什麼位置出現了多少次。result = re.findall(r』\d』, text)這將返回所有數字,但每個元素只有一個數字:['1', '0', '0', '1', '1', '1', '1', '2', '3', '4', '5', '6', '7']r-python原始字符串這裡,r表示python原始字符串。
  • Python正則表達式:特殊符號和字符
    正表達式為高級的文本模式匹配,抽取,與/或文本形式的搜索和替換功能提供了基礎。簡而言之,正則表達式(簡稱regex)是由一些字符和特殊符號組成的字符串,它描述了模式的重複或者表達多個字符。python通過標準庫中的re模塊來支持正則表達式。
  • 代碼詳解:Python正則表達式的終極使用指南
    但如果有re模塊,則只需兩行代碼:import repattern = r"[;.,–]"print(len(re.findall(pattern,string)))-19本文討論的是最常用的正則表達式模式,以及一些經常使用的正則表達式函數。什麼是正則表達式?
  • Python(2):正則表達式的常見符號與作用,每個都有示例
    承接上篇文章,本文將羅列出Python中正則表達式常用的符號,也叫做元字符,正是憑藉元字符正則表達式方才展現出強大的檢索功能和受人青睞的靈活性。—\$$一個問題:以aa開頭且以bb$結尾的正則表達式怎麼寫?
  • 使用JavaScript對正則表達式進行解析
    3、正則表達式的不同用法在使用正則表達式時,我們基本上是在使用RegExp對象方法或允許我們與正則表達式進行交互的字符串方法:RegExp.prototype.test();該test()方法執行搜索以查找正則表達式和指定字符串之間的匹配項。返回true或false。
  • 正則表達式在VBA中間是如何應用?正則表達式的實現方式?
    Hi,大家好,本章節開始將會從零開始和大家用圖文的方式,讓你從零基礎學會正則表達式!有興趣的小夥伴可以持續關注我,或者在專欄中進行查看自我學習,願與君攜手前行!在上一個章節說到正則表達式的入門級知識點,本節將會與大家分享一下正則表達式的是具體實現方式是怎麼樣的?
  • 【第160期】指尖上的正則表達式–入門篇
    如果你是一位接觸計算機語言的工作者,那麼你會在主流作業系統(*nix[Linux, Unix等]、Windows、HP、BeOS等)、目前主流的開發語言(PHP、C#、Java、C++、VB、Javascript、Ruby以及python等)、數以億萬計的各種應用軟體中,都可以看到正則表達式優美的舞姿。
  • PHP正則表達式的快速學習方法
    例如,/jim{2,6}/上述正則表達式規定字符m可以在匹配對象中連續出現2-6次,因此,上述正則表達式可以同jimmy或jimmmmmy等字符串相匹配。在對如何使用正則表達式有了初步了解之後,我們來看一下其它幾個重要的元字符的使用方式。
  • Python程式語言:如何運用正則表達式
    這篇文章,小編要和大家分享的知識是Python語言的正則表達式,以及自己學到的使用方法!學會正則表達式可以幫助我們抓取網絡信息,正則表達式又叫Re庫!這裡我們要了解什麼是正則表達式,正則表達式是用來簡潔表達一組字符串的表達式!
  • Python正則表達式由淺入深(二)
    在前兩篇連載文章中,我們學習了re模塊的match()、search()、findall()方法,以及學習了使用正則表達式中常用的元字符、限定符、選擇字符、中括號來搭配這些方法來靈活處理常見的數據匹配問題。這本篇文章分鐘,我們將會進一步學習正則表達式中其他符合,包括令初學者非常頭疼的分組問題。
  • Python中使用re模塊實現正則表達式的匹配字符串操作
    第八十二節:匹配字符串經過上一節比較枯燥的基礎內容,今天來看看如何利用正則表達式在Python中進行具體操作。在Python中使用正則表達式,首先要導入一個re模塊。re就是Regular Expression(正則表達式)的縮寫,所以導入re模塊就是導入「正則表達式模塊」。
  • Python正則表達式由淺入深(一)
    CDA數據分析師 出品數據分析工作中很多任務是跟文本處理相關,比如從文本中提取客戶的信息,從文本中提取時間等等都是比較常見的操作。 雖然Python處理字符串的方法很多,而且流行的pandas庫也提供了大量的向量化字符串方法,但是一旦涉及要經過較為複雜的數據匹配才能進行的字符操作,這些方法就顯得非常的乏力。
  • 帶您一小時玩轉正則表達式
    在日常開發中我們經常會對用戶輸入的數據進行校驗、對字符串進行提取或者替換,這時候往往會使用正則來實現,那麼今天我給大家分享下正則表達式的一些知識。一、什麼是正則表達式正則表達式是一種描述字符串結果的語法規則,是一個特定的格式化模式,可以匹配、替換、截取匹配的字符串。
  • 正則實戰秘籍進階-【溫度轉換小程序】
  • Python學習第40課-Lambda表達式創建匿名函數
    【每天幾分鐘,從零入門python編程的世界!】之前我們學習了使用def關鍵字來創建自定義函數,這種方式創建的函數都是有函數名的,我們也可以創建沒有函數名的函數,這種函數叫做匿名函數。Python中可以使用Lambda表達式來創建匿名函數。