Re庫的基本使用


  • Re庫介紹:
    • Re庫是Python的標准庫,主要用於字符串匹配。
    • 調用方式:import re
  • 正則表達式的表示類型:
    • raw string類型(原生字符串類型):
      • re庫采用raw string類型表示正則表達式,表示為:r'text'
      • 例如:r'[1-9]\d{5}'
      • raw string是指不包含轉義符的字符串
    • string類型,更繁瑣。
      • 例如:'[1-9]\\d{5}';'\\d{3}-\\d{8}|\\d{4}-\\d{7}'
    當正則表達式包含轉義符時,建議使用raw string類型來表示正則表達式。
  • Re庫主要功能函數:
 
函數
說明
re.search()
在一個字符串中搜索匹配正則表達式的第一個位置,返回match對象
re.match()
從一個字符串的開始位置起匹配正則表達式,返回match對象
re.findall()
搜索字符串,以列表類型返回全部能匹配的字符串
re.split()
將一個字符串按照正則表達式匹配結果進行分割,返回列表類型
re.finditer()
搜索字符串,返回一個匹配結果的迭代類型,每個迭代元素是match對象
re.sub()
字啊一個字符串中替換所有匹配正則表達式的子串,返回替換后的字符串
  • re.search(pattern,string,flags=0)
    • 在一個字符串中搜索匹配正則表達式的第一個位置,返回match對象。
      • pattern:正則表達式的字符串或原生字符串表示
      • string:待匹配字符串
      • flags:正則表達式使用時的控制標記
        • re.I(re.IGNORECASE):忽略正則表達式的大小寫,[A-Z]能夠匹配小寫字符
        • re.M(re.MULTILINE):正則表達式中的^操作符能夠將給定字符串的每行當作匹配開始
        • re.S(re.DOTALL):正則表達式中的.操作符能夠匹配所有字符,默認匹配除換行外的所有字符
                          
  • re.match(pattern,string,flags=0)
    • 從一個字符串的開始位置起匹配正則表達式,返回match對象。
      • pattern:正則表達式的字符串或原生字符串表示
      • string:待匹配字符串
      • flags:正則表達式使用時的控制標記
                            
  • re.findall(pattern,string,flags=0)
    • 搜索字符串,以列表類型返回全部能匹配的子串。
      • pattern:正則表達式的字符串或原生字符串表示
      • string:待匹配字符串
      • flags:正則表達式使用時的控制標記
                            
  • re.split(pattern,string,maxsplit=0,flags=0)
    • 搜索字符串,以列表類型返回全部能匹配的子串。
      • pattern:正則表達式的字符串或原生字符串表示
      • string:待匹配字符串
      • maxsplit:最大分割數,剩余部分作為最后一個元素輸出
      • flags:正則表達式使用時的控制標記
                            
  • re.finditer(pattern,string,flags=0)
    • 搜索字符串,返回一個匹配結果的迭代類型,每個迭代元素是match對象。
      • pattern:正則表達式的字符串或原生字符串表示
      • string:待匹配字符串
      • flags:正則表達式使用時的控制標記
                              
  • re.sub(pattern,repl,string,count=0,flags=0)
    • 在一個字符串中替換所有匹配正則表達式的子串,返回替換后的字符串。
      • pattern:正則表達式的字符串或原生字符串表示
      • repl:替換匹配字符串的字符串
      • string:待匹配字符串
      • count:匹配的最大替換次數
      • flags:正則表達式使用時的控制標記
                            
  • Re庫的另一種等價用法:
    • 函數式用法:一次性操作
      • rst = re.search(r'[1-9]\d{5}', 'BIT 100081')
    • 面向對象用法:編譯后的多次操作
      • pat = re.compile(r'[1-9]\d{5}')
      • rst = pat.search('BIT 100081')
  • regex = re.comile(pattern,flags=0)
    • 將正則表達式的字符串形式編譯成正則表達式對象
      • pattern:正則表達式的字符串或原生字符串表示
      • flags:正則表達式使用時的控制標記
    • regex才是正則表達式:regex = re.compile(r'[1-9]\d{5}')
函數
說明
regex.search()
在一個字符串中搜索匹配正則表達式的第一個位置,返回match對象
regex.match()
從一個字符串的開始位置起匹配正則表達式,返回match對象
regex.findall()
搜索字符串,以列表類型返回全部能匹配的字符串
regex.split()
將一個字符串按照正則表達式匹配結果進行分割,返回列表類型
regex.finditer()
搜索字符串,返回一個匹配結果的迭代類型,每個迭代元素是match對象
regex.sub()
字啊一個字符串中替換所有匹配正則表達式的子串,返回替換后的字符串
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM