กลุ่มตัวอักษรภายในชุดใน Regular Expressions Python
กลุ่มตัวอักษร \d, \D,
\w, \W, \s, \S
ภายใน [] จะยังคงหมายถึง
กลุ่มตัวอักษร นั่นคือจะยังคงเป็นคำสั่งเหมือนเดิม
ตัวอย่าง
ในตัวอย่างนี้ แพทเทิร์นการค้นหามีลักษณะดังนี้:
ระหว่างตัว x เป็นตัวเลขใดๆ หรือ
ตัวอักษรตั้งแต่ 'a' ถึง 'f':
txt = 'xax xbx x1x x2x xhx x@x'
res = re.sub('x[\da-f]x', '!', txt)
print(res)
ผลลัพธ์ของการรันโค้ด:
'! ! ! ! xhx x@x'
ตัวอย่าง
ในตัวอย่างนี้ แพทเทิร์นการค้นหามีลักษณะดังนี้:
ตัวอักษร 'x', ตามด้วยไม่ใช่ตัวเลข,
ไม่ใช่จุด, และไม่ใช่ตัวอักษรภาษาอังกฤษตัวพิมพ์เล็ก,
ตามด้วยตัวอักษร 'z':
txt = 'xaz x1z xAz x.z x@z'
res = re.sub('x[^\d.a-z]z', '!', txt)
print(res)
ผลลัพธ์ของการรันโค้ด:
'xaz x1z ! x.z !'
โจทย์ฝึกปฏิบัติ
เขียน regular expression ที่จะค้นหาสตริง
ตามแพทเทิร์น: ตัวเลขหรือจุด ตั้งแต่ 1
ครั้งขึ้นไป
เขียน regular expression ที่จะค้นหาสตริง
ตามแพทเทิร์น: ไม่ใช่ตัวเลข และไม่ใช่ตัวอักษรตั้งแต่
'a' ถึง 'g' ตั้งแต่ 3 ครั้ง
ถึง 7 ครั้ง