Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Regex Modifiers (Flags) trong Python (re.I, re.M, re.S...)

Flags (modifiers) thay đổi hành vi matching của regex. Truyền vào tham số flags của các hàm re hoặc dùng (?flag) trong pattern.

FlagTênChức năng
re.I / re.IGNORECASEIgnore CaseKhớp không phân biệt hoa/thường
re.M / re.MULTILINEMultiline^ khớp đầu dòng, $ khớp cuối dòng (không chỉ đầu/cuối chuỗi)
re.S / re.DOTALLDot All. khớp mọi ký tự kể cả newline
re.L / re.LOCALELocale\w, \b, \B phụ thuộc locale hiện tại (ít dùng)
re.U / re.UNICODEUnicode\w, \W, \b, \B theo Unicode (mặc định Py3)
re.X / re.VERBOSEVerboseCho phép whitespace/comment trong pattern để đọc dễ

Cách dùng

# Truyền flags
re.search(pattern, string, re.I | re.M)

# Inline flag trong pattern
re.search(r'(?im)^pattern$', string)

# Verbose pattern (đọc dễ)
pattern = r'''
    \d+     # số
    \s+     # khoảng trắng
    \w+     # từ
'''
re.search(pattern, string, re.X)