Python 內置正則表達式庫re的使用

什麼是正則表達式

  • 正則表達式就是記錄文本規則的代碼
  • 可以查找操作符合某些複雜規則的字符串

使用場景

  • 處理字符串
  • 處理日誌

在 python 中使用正則表達式

  • 把正則表達式作爲模式字符串
  • 正則表達式可以使用原生字符串來表示
  • 原生字符串需要在字符串前方加上 r'string'
# 匹配字符串是否以 hogwarts_ 開頭

r'hogwart_\w+'

正則表達式對象轉換

  • compile():將字符串轉換爲正則表達式對象
  • 需要多次使用這個正則表達式的場景
import re

'''
prog:正則對象,可以直接調用匹配、替換、分割的方法,不需要再傳入正則表達式
pattern:正則表達式
'''

prog = re.compile(pattern)

匹配字符串

  • match():從字符串的開始處進行匹配
  • search():在整個字符串中搜索第一個匹配的值
  • findall():在整個字符串中搜索所有符合正則表達式的字符串,返回列表
import re

'''
pattern: 正則表達式
string: 要匹配的字符串
flags: 可選,控制匹配方式
    - A:只進行 ASCII 匹配
    - I:不區分大小寫
    - M:將 ^ 和 $ 用於包括整個字符串的開始和結尾的每一行
    - S:使用 (.) 字符匹配所有字符(包括換行符)
    - X:忽略模式字符串中未轉義的空格和註釋
'''

re.match(pattern, string, [flags])
re.search(pattern, string, [flags])
re.findall(pattern, string, [flags])

替換字符串

  • sub():實現字符串替換
import re

'''
pattern:正則表達式
repl:要替換的字符串
string:要被查找替換的原始字符串
count:可選,表示替換的最大次數,默認值爲 0,表示替換所有匹配
flags:可選,控制匹配方式
'''

re.sub(pattern, repl, string, [count], [flags])

分割字符串

  • split():根據正則表達式分割字符串,返回列表
import re

'''
pattern:正則表達式
string:要匹配的字符串
maxsplit:可選,表示最大拆分次數
flags:可選,控制匹配方式
'''

re.split(pattern, string, [maxsplit], [flags])
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章