一、正則表達式簡介
正則表達式(Regular Expression,簡稱Regex)是一種富強的文本處理東西,它可能對字元串停止複雜的婚配、查找跟調換操縱。Python中的re
模塊供給了對正則表達式的支撐,使得我們可能輕鬆地在Python代碼中利用正則表達式。
二、re模塊常用方法
1. re.match(pattern, string, flags=0)
re.match()
函數實驗從字元串的肇端地位婚配一個正則表達式。假如婚配成功,前去一個婚配東西;假如不婚配,則前去None
。
import re
pattern = r'd'
string = '123abc'
result = re.match(pattern, string)
if result:
print(result.group()) # 輸出: 123
else:
print("No match found!")
2. re.search(pattern, string, flags=0)
re.search()
函數用於掃描全部字元串,找到第一個婚配的子串。假如找到婚配,前去婚配東西,不然前去None
。
import re
pattern = r'd'
string = 'abc123xyz'
result = re.search(pattern, string)
if result:
print(result.group()) # 輸出: d
else:
print("No match found!")
3. re.findall(pattern, string, flags=0)
re.findall()
函數前去字元串中全部非堆疊的與形式婚配的字元串列表。
import re
pattern = r'\d+' # 婚配一個或多個數字
string = 'The price is 100 dollars.'
result = re.findall(pattern, string)
print(result) # 輸出: ['100', '100']
4. re.finditer(pattern, string, flags=0)
re.finditer()
函數查找字元串中全部非堆疊的形式,前去一個迭代器,包含全部婚配東西。
import re
pattern = r'\d+' # 婚配一個或多個數字
string = 'The price is 100 dollars and 200 euros.'
for match in re.finditer(pattern, string):
print(match.group()) # 輸出: 100, 200
5. re.sub(pattern, repl, string, count=0, flags=0)
re.sub()
函數用指定的調換字元串repl
調換全部與形式婚配的非堆疊部分,並前去調換後的字元串。
import re
pattern = r'\d+' # 婚配一個或多個數字
repl = 'X'
string = 'The price is 100 dollars.'
result = re.sub(pattern, repl, string)
print(result) # 輸出: The price is XX dollars.
6. re.split(pattern, string, maxsplit=0, flags=0)
re.split()
函數利用形式作為分開符,將字元串分割成列表。
import re
pattern = r'\s+' # 婚配一個或多個空白字元
string = 'Hello, World!'
result = re.split(pattern, string)
print(result) # 輸出: ['Hello', 'World!']
三、正則表達式的元字元
正則表達式中的元字元存在特別意思,用於定義婚配形式。以下是一些常用的元字元:
.
:婚配除換行符外的咨意單個字元。[]
:婚配括弧內的咨意一個字元。()
:分組,用於提取婚配的子串。*
:婚配前一個字元0次或多次。+
:婚配前一個字元1次或多次。?
:婚配前一個字元0次或1次。^
:婚配字元串掃尾。$
:婚配字元串開頭。
四、總結
控制Python re
模塊跟正則表達式,可能幫助我們高效地處理字元串,進步代碼的可讀性跟可保護性。經由過程本文的介紹,信賴你曾經對正則表達式有了更深刻的懂得。在以後的任務中,可能實驗將正則表達式利用到各種場景中,進步任務效力。