Python(3):正則表達式的編程實戰—re.match/re.search

2021-01-11 科技研究員猴哥

本文將通過通俗易懂的Python正則表達式實戰編程來為讀者演示如何使用正則表達式以及正則表達式處理的過程和結果,以供大家參考和學習。

Python正則表達式編程實戰

Python正則表達式編程必備—re.compile()

Python是一種解釋性語言,代碼的運行必須通過解釋器來執行,所以對於Python解釋器大家必須要清楚一點:

解釋器在執行字符串形式的代碼前都必須把字符串編譯成代碼對象,原因就是預編譯的代碼對象比直接使用字符串代碼要快得多(感興趣的讀者可以去研究下Python代碼執行過程)。

以上述知識為前提,re.compile()便是該過程的具體實現。正則表達式在模式匹配前必須被編譯成正則表達式對象,雖然使用者多不會做這步操作但大家必須要知道這一點而且強烈建議大家在正則表達式編程中使用預編譯——re.compile(),一則利於嚴謹的編程風格,二則利於提升執行性能。

預編譯的重要性

後文中的編程實踐中之所以沒有使用re.compile()是由於re模塊函數會緩存已編譯的對象,故並非所有使用正則表達式模式的search和match函數都需要編譯,這裡提前說明下。

Python正則表達式編程實戰

match()—從字符串起始部分進行模式匹配,成功則返回對象,失敗則返回None

match編程
運行結果

search()—在字符串任意位置匹配,搜索成功則返回對象,失敗則返回Nonesearch()的工作方式與match()完全相同,只不過二者的作用不同,前者是從字符串起始開始匹配,後者是在字符串任意位置使用給定正則表達式模式搜索第一次出現的匹配結果。

search編程

匹配多個字符串——或 ( | )

匹配多個字符串實戰
運行結果

總結

re模塊中的match()函數和search()函數是正則表達式編程的基本要求,也是必備技能,除了本文中的使用方式外,感興趣的讀者可以自行研究。

下一篇文章將介紹由符號構成的正則表達式編程,希望對大家學習有所幫助。

相關焦點

  • python之:正則表達式-re模塊
    ----模糊匹配說明:正則表達式-所有操作對象只是字符串,多個返回list。本身是一門小型高度專業的程式語言,內嵌在python中,並通過re模塊實現,用C編寫的引擎執行方法:re.match(pattern, string) 從字符串的起始位置匹配,返回一個匹配子串。
  • Python+RE(正則表達式)方法的簡單應用
    # 正則表達式前面HTML中已經講解了RE的表示方式,此處不再累贅。需要可返回閱讀:- 一套規則,可以在字符串文本中進行搜查替換等- 正則常用方法:- match:從開始位置開始查找,一次匹配 - search:從任何位置查找,一次匹配 - findall: 全部匹配,返回列表 - finditer:全部匹配,返回迭代器 - split: 分割字符串,返回列表 - sub: 替換- 匹配中文 - 中文unicode範圍主要在
  • Python爬蟲提取神器,正則表達式(re模塊),全程乾貨
    正則表達式(re模塊)什麼是正則表達式正則表達式(Regular Expression)是一種文本模式,包括普通字符(例如,a到z之間的字母)和特殊字符(稱為&34;)。正則表達式使用單個字符串來描述、匹配一系列匹配某個句法規則的字符串。
  • Python中使用re模塊實現正則表達式的匹配字符串操作
    ,關注我,一同學習簡單易懂的Python編程。第八十二節:匹配字符串經過上一節比較枯燥的基礎內容,今天來看看如何利用正則表達式在Python中進行具體操作。在Python中使用正則表達式,首先要導入一個re模塊。
  • Python re正則模塊
    re模塊的常用方法findall:返回所有滿足匹配條件的結果,放在列表裡,如果沒有滿足的則返回空列表import reret = re.findall('^[sd]','sdhjaskhjxc wdads') # 返回所有滿足匹配條件的結果,放在列表裡print (ret)# 結果:[s]search:函數會在字符串內以查找模式匹配
  • Python:正則表達式基本符號總結
    字符串是我們在編程的時候很常用的一種數據類型,檢查會在字符串裡面查找一些內容,對於比較簡單的查找,字符串裡面就有一些內置的方法可以處理,對於比較複雜的字符串查找,或者是有一些內容經常變化的字符串裡面查找,那麼字符串內置的查找方法已經不好使了,滿足不了我們的要求,這個時候就得用正則表達式了,正則表達式就是用來匹配一些比較複雜的字符串。
  • Python正則表達式,從入門到實戰,精華都在這裡
    正則表達式的相關知識Python的中 re 模塊,主要是用來處理正則表達式一個利用 re 模塊通過正則表達式來進行網頁數據的爬取和存儲模塊學習https://docs.python.org/zh-cn/3/library/re.html
  • python正則表達式使用方法說明
    曾光紅/文 (同步發布豆瓜網)一、導入re庫python使用正則表達式要導入re庫。import re在re庫中。正則表達式通常被用來檢索查找、替換那些符合某個模式(規則)的文本。二、使用正則表達式步驟1、尋找規律;2、使用正則符號表示規律;3、提取信息,如果每一個字符都能匹配,則匹配成功;一旦有匹配不成功的字符則匹配失敗。
  • 程式設計師入門基礎:python正則表達式貪婪匹配和非貪婪匹配
    此文為python正則表達式的高階入門,正則基礎入門請參考程式設計師入門基礎:python的正則表達式。一、貪婪匹配和非貪婪匹配舉例說明概念:print('非貪婪匹配',re.search('el+?', 'hello world',re.I))print('貪婪匹配',re.search('el+', 'hello world',re.I))貪婪匹配 <re.Match object; span=(1, 4), match='ell'>非貪婪匹配 <re.Match object; span=(1, 3), match='el'>
  • Python 正則表達式大全(上)
    Python正則表達式正則表達式是一個特殊的字符序列,它能幫助你方便的檢查一個字符串是否與某種模式匹配。flags標誌位,用於控制正則表達式的匹配方式,如:是否區分大小寫,多行匹配等等。匹配成功re.match方法返回一個匹配的對象,否則返回None。我們可以使用group(num) 或 groups() 匹配對象函數來獲取匹配表達式。
  • 大數據挖掘—(九):爬蟲利器 _正則表達式
    該對象擁有一系列方法用於正則表達式匹配和替換。  re 模塊也提供了與這些方法功能完全一致的函數,這些函數使用一個模式字符串作為它們的第一個參數。re.match函數  re.match 嘗試從字符串的起始位置匹配一個模式,如果不是起始位置匹配成功的話,match()就返回none。
  • 第二篇詳細Python正則表達式操作指南(re使用)
    執行匹配一旦你有了已經編譯了的正則表達式的對象,你要用它做什麼呢?`RegexObject` 實例有一些方法和屬性。這裡只顯示了最重要的幾個,如果要看完整的列表請查閱 Python Library Reference如果沒有匹配到的話,match() 和 search() 將返回 None。
  • 程式設計師入門基礎:python正則表達式的零寬斷言
    一、零寬斷言此篇文章為python正則表達式的高階入門,正則基礎入門請參考程式設計師入門基礎:python的正則表達式。斷言也可以理解為判斷的意思,正則表達式中有很多這樣的斷言,常見的如 ^ 和 /A,匹配字符串或者行的末尾 $ 和 /Z,單詞邊界/B等等。
  • 為什麼要學正則表達式 - 6
    正則表達式就是記錄文本規則的代碼。上期咱們一起學習了正則表達式re模塊提供的match()方法學習了match()方法對字符串的操作和標識符的區別。最後通過一個案例明白了match()方法在python中的實際應用。
  • Python正則表達式由淺入深(一)
    幸運的是Python提供了re模塊,可以實現正則表達式的操作。re模塊主要通過六大方法來對字符串進行處理,包括:match()、search()、findall()、split()、sub()。接下來的系列文章將會為大家初步搭建較為完整的Python正則表達式知識體系,如果你已經學習完Python編程基礎和數據清洗的課程知識,該系列文章將會讓你對使用Python正則表達式達到一學就會,一用就懂的技能熟悉程度,實現真正的融會貫通的目的。re.match方法我們首先看re模塊中較為簡單的match()方法。
  • Python正則表達式如何進行字符串替換
    Python正則表達式如何進行字符串替換 Python正則表達式需要進行字符串替換的時候需要用到一些字符串的匹配,在這一過程中遇到的問題一直在困擾著我們。
  • 原創通俗易懂的Python的正則表達式,建議收藏
    正則表達式正則表達式是一個特殊的字符序列,由普通字符和元字符組成。元字符能幫助你方便的檢查一個字符串是否與某種模式匹配。正則表達式應用的場景也非常多。常見的比如:搜尋引擎的搜索、爬蟲結果的匹配、文本數據的提取等等都會用到,所以掌握甚至精通正則表達式是一個硬性技能,非常必要。
  • Python正則表達式的七個使用範例
    在Python中使用正則表達式進行查找『re』模塊提供了幾個方法對輸入的字符串進行確切的查詢。我們將會要討論的方法有:re.match()re.search()re.findall()每一個方法都接收一個正則表達式和一個待查找匹配的字符串。
  • 三十一、深入Python中的正則表達式
    Python中則提供了強大的正則表達式處理模塊,即 re 模塊, 為Python的內置模塊。下面,我帶大家來一個入門demo例子,代碼如下:import rereg_string = "hello9527python@wangcai.@!
  • 程式設計師入門基礎:python的正則表達式
    正則表達式是一個特殊的字符序列,它能幫助我們方便的檢查一個字符串是否與某種模式匹配。Python提供Perl 風格的正則表達式模式。re 模塊使 Python 語言擁有全部的正則表達式功能。一、正則表達式1、字符元素(可跳過)字符的匹配元素,比較瑣碎,簡單了解後即可,後期邊用邊查就記住了。