findall()
是 Python 中正則表達式模塊 re
的一個函數,用于在字符串中查找所有與正則表達式匹配的子串
使用原始字符串:為了避免轉義字符帶來的困擾,可以使用原始字符串(在字符串前加 r
)來編寫正則表達式。例如:
import re
text = "The quick brown fox jumps over the lazy dog."
pattern = r'\b\w{5}\b'
result = re.findall(pattern, text)
print(result) # 輸出:['quick', 'brown']
指定匹配模式:re.findall()
函數有一個可選參數 flags
,用于指定匹配模式。例如,re.IGNORECASE
可以用于執行不區分大小寫的匹配。
import re
text = "The quick brown fox jumps over the lazy dog."
pattern = r'\b\w{5}\b'
result = re.findall(pattern, text, flags=re.IGNORECASE)
print(result) # 輸出:['Quick', 'Brown']
使用分組:在正則表達式中使用圓括號 ()
可以創建分組,findall()
函數將返回一個包含所有匹配分組的列表。
import re
text = "The quick brown fox jumps over the lazy dog."
pattern = r'(\w{5})'
result = re.findall(pattern, text)
print(result) # 輸出:['quick', 'brown', 'fox', 'jumps', 'over', 'lazy', 'dog']
使用 re.finditer()
:re.finditer()
函數與 re.findall()
類似,但它返回一個迭代器,而不是一個列表。這樣可以節省內存,特別是在處理大型字符串時。
import re
text = "The quick brown fox jumps over the lazy dog."
pattern = r'\b\w{5}\b'
result = re.finditer(pattern, text)
for match in result:
print(match.group()) # 輸出:quick, brown, fox, jumps, over, lazy, dog
使用 re.sub()
:如果你想替換字符串中與正則表達式匹配的部分,可以使用 re.sub()
函數。
import re
text = "The quick brown fox jumps over the lazy dog."
pattern = r'\b\w{5}\b'
result = re.sub(pattern, '<word>', text)
print(result) # 輸出:The <word> <word> <word> jumps over the <word> <word> dog.