Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การจับคู่ตัวอักษรพิมพ์ใหญ่ (Uppercase) ใน Python Regex

ใช้ชุดอักขระ [A-Z] เพื่อจับคู่ ตัวอักษรภาษาอังกฤษพิมพ์ใหญ่ เพียงตัวเดียว

ตัวอย่าง

import re
foo = 'MozamBiQuE'
match = re.findall(r'[A-Z]', foo)
print(match)

ผลลัพธ์

['M', 'B', 'Q', 'E']

ขยายความครอบคลุม Unicode

หากต้องการจับคู่ตัวอักษรพิมพ์ใหญ่ทุกภาษา (รวมภาษาไทย, อารบิก, จีน ฯลฯ) ใช้ \p{Lu} กับแฟล็ก re.UNICODE (Python 3.3+ รองรับผ่านโมดูล regex ไม่ใช่ re มาตรฐาน)

ใน re มาตรฐาน ใช้ [A-Z] สำหรับ ASCII หรือระบุช่วง Unicode เอง เช่น [A-ZÀ-ÖØ-Þ] สำหรับ Latin Extended