以下是一些常用的正則表達式模式,可以幫助快速匹配各種模式的字符串。
\d
:匹配一個數字字符,相當於 [0-9]
。\D
:匹配一個非數字字符。\w
:匹配一個字母或數字字符,相當於 [a-zA-Z0-9_]
。\W
:匹配一個非字母或數字字符。\s
:匹配空白字符(空格、制表符、換行符等)。\S
:匹配非空白字符。import re
# 使用 \d 匹配數字
result = re.search("\d+", "今天的日期是2024年")
print(f"找到的數字: {result.group()}")
輸出:
找到的數字: 2024
import re
# 使用 \w 匹配字母和數字字符
result = re.search("\w+", "Python 3.10")
print(f"找到的單詞: {result.group()}")
輸出:
找到的單詞: Python
使用括號 ()
可以將正則表達式中的一部分分組,這樣可以方便地對匹配的子字符串進行提取。
import re
# 使用 () 將年、月、日分組
result = re.search(r"(\d{4})-(\d{2})-(\d{2})", "日期是2024-10-03")
if result:
year, month, day = result.groups()
print(f"年: {year}, 月: {month}, 日: {day}")
輸出:
年: 2024, 月: 10, 日: 03
re.sub()
用來在字符串中替換符合正則表達式的部分,並返回替換後的結果。
import re
# 使用 re.sub() 將日期格式從 yyyy-mm-dd 替換為 dd/mm/yyyy
result = re.sub(r"(\d{4})-(\d{2})-(\d{2})", r"\3/\2/\1", "日期是2024-10-03")
print(f"替換後的結果: {result}")
輸出:
替換後的結果: 日期是03/10/2024
在正則表達式中可以使用標誌來改變匹配行為,例如忽略大小寫、多行模式等。常用的標誌有:
re.IGNORECASE
或 re.I
:忽略大小寫。re.MULTILINE
或 re.M
:多行模式,^
和 $
分別匹配每行的開頭和結尾。re.DOTALL
或 re.S
:使 .
匹配包括換行符在內的所有字符。import re
# 使用 re.IGNORECASE 忽略大小寫匹配
result = re.search("hello", "Hello, world!", re.IGNORECASE)
print(result.group())
輸出:
Hello