ใช้ \D+ (D พิมพ์ใหญ่ + quantifier +) เพื่อจับคู่ ลำดับอักขระที่ไม่ใช่ตัวเลข 1 ตัวขึ้นไป
ตัวอย่าง: search() - หาครั้งแรก
import re m = re.search(r'\D+', '5Need47for Speed 2') print(m)
ผลลัพธ์
<_sre.SRE_Match object at 0x...>
จับคู่ "Need" (non-digit sequence แรกที่เจอ)
ตัวอย่าง: findall() - หาทั้งหมด
import re m = re.findall(r'\D+', '5Need47for Speed 2') print(m)
ผลลัพธ์
['Need', 'for Speed ']
คำอธิบาย
\D= non-digit character (เทียบเท่า[^0-9])+= 1 ครั้งขึ้นไป (greedy)findall()คืนลิสต์ของทุก non-overlapping matches
เปรียบเทียบ \D+ vs \D
>> re.findall(r'\D', '5Need47for Speed 2') ['N', 'e', 'e', 'd', 'f', 'o', 'r', ' ', 'S', 'p', 'e', 'e', 'd', ' '] >>> re.findall(r'\D+', '5Need47for Speed 2') ['Need', 'for Speed ']