什麼是正則表達式
- 正則表達式就是記錄文本規則的代碼
- 可以查找操作符合某些複雜規則的字符串
使用場景
在 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])
替換字符串
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])