正則表達式(Regular Expression,簡稱正則或 regex)是用來匹配字符串的強大工具,在處理文本時非常實用。Python 提供了內置的 re
模塊來支持正則表達式,讓用戶可以方便地在字符串中搜索、匹配、替換等。
在 Python 中使用正則表達式,需要先導入 re
模塊,然後通過正則表達式進行操作。常用的方法有:
re.search()
:在字符串中查找匹配的子字符串,返回第一個匹配對象。re.match()
:從字符串的開始處匹配正則表達式,如果匹配成功,返回匹配對象。re.findall()
:查找所有匹配的子字符串,返回一個列表。re.sub()
:替換匹配的字符串。import re
# 使用 re.search() 在字符串中查找 "world"
result = re.search("world", "Hello, world!")
if result:
print(f"找到: {result.group()}")
輸出:
找到: world
re.match()
re.match()
只會在字符串的開頭進行匹配,這與 re.search()
的行為不同。
import re
# 匹配開頭的字符串 "Hello"
result = re.match("Hello", "Hello, world!")
if result:
print(f"匹配成功: {result.group()}")
輸出:
匹配成功: Hello
正則表達式包含一些特殊字符,能夠對字符串進行靈活的匹配操作:
.
:匹配任意單個字符(除換行符外)。^
:匹配字符串的開頭。$
:匹配字符串的結尾。*
:匹配前一個字符 0 次或多次。+
:匹配前一個字符 1 次或多次。?
:匹配前一個字符 0 次或 1 次。[]
:匹配字符集合中的任意一個。|
:或操作,匹配左邊或右邊的表達式。()
:用來分組,捕獲子表達式的匹配。import re
# 使用 . 匹配任意單個字符
result = re.search("H.llo", "Hello, world!")
print(result.group())
輸出:
Hello
import re
# 使用字符集 [abc] 匹配其中任意一個字符
result = re.search("[aeiou]", "Python")
print(f"找到的元音字母: {result.group()}")
輸出:
找到的元音字母: o