อักขระพิเศษภายในวงเล็บเหลี่ยมใน Python
อักขระพิเศษที่อยู่ภายใน [ ] จะกลายเป็น
อักขระธรรมดา ซึ่งหมายความว่าเราไม่จำเป็น
ต้องใช้ backslash ในการ escape
ตัวอย่าง
ในตัวอย่างนี้ แพตเทิร์นการค้นหามีลักษณะดังนี้
ระหว่างตัว x คือตัวอักษรใดก็ได้ 'a',
'b', 'c', หรือจุด:
txt = 'xax xbx xcx xdx x.x x@x'
res = re.sub('x[abc.]x', '!', txt)
print(res)
ผลลัพธ์จากการรันโค้ด:
'! ! ! xdx ! x@x'
ตัวอย่าง
ในตัวอย่างนี้ แพตเทิร์นการค้นหามีลักษณะดังนี้ ระหว่างตัว x คือตัวอักษรภาษาอังกฤษตัวพิมพ์เล็ก ใดก็ได้หรือจุด:
txt = 'xax xbx xcx x@x'
res = re.sub('x[a-z.]x', '!', txt)
print(res)
ผลลัพธ์จากการรันโค้ด:
'! ! ! x@x'
โจทย์ฝึกหัด
กำหนดสตริง:
txt = 'aba aea aca aza axa a.a a+a a*a'
เขียน regular expression เพื่อค้นหาสตริง
'a.a', 'a+a', 'a*a',
โดยไม่กระทบกับสตริงอื่น
กำหนดสตริง:
txt = 'xaz x.z x3z x@z x$z xrz'
เขียน regular expression เพื่อค้นหาสตริง
ตามแพตเทิร์น: ตัวอักษร 'x', ตามด้วย
ที่ไม่ใช่จุด, ไม่ใช่ @, และไม่ใช่เครื่องหมายดอลลาร์, แล้วตามด้วย
ตัวอักษร 'z'