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

Lớp ký tự (Character Class) trong biểu thức chính quy Python

Lớp ký tự (Character Class / Character Set)

Một lớp ký tự là tập hợp các ký tự đặt trong cặp ngoặc vuông []. Regex engine sẽ khớp một ký tự bất kỳ nằm trong tập hợp đó. Thứ tự ký tự bên trong không quan trọng.

Ví dụ: [aeiou] khớp với một nguyên âm bất kỳ.

Dải ký tự (Range)

Dùng dấu gạch ngang - bên trong [] để chỉ dải:

  • [0-9] — một chữ số từ 0 đến 9.
  • [A-Za-z] — một chữ cái in hoa hoặc in thường.

Ví dụ: Tìm tất cả nguyên âm

import re
s = 'mother of all battles'
result = re.findall(r'[aeiou]', s)
print(result)

Kết quả

['o', 'e', 'o', 'a', 'a', 'e']

Mẹo: Để khớp ký tự đặc biệt như ], -, ^ bên trong lớp ký tự, hãy escape chúng hoặc đặt ở vị trí an toàn (ví dụ: [-] hoặc []-]).