การกลับชุดตัวอักษรใน Regular Expressions
การใช้เครื่องหมายหมวก '^' อยู่ที่จุดเริ่มต้น
ของวงเล็บเหลี่ยมสามารถกลับเงื่อนไขที่ต้องการได้
ตัวอย่างเช่น หากคำสั่ง [ab]
ค้นหาตัวอักษร 'a' หรือ 'b' แล้ว
คำสั่ง [^ab] จะค้นหาทุก
ตัวอักษร ยกเว้น 'a' และ 'b'
ตัวอย่าง
ในตัวอย่างนี้ รูปแบบการค้นหามีลักษณะ
ดังนี้: ตัวอักษร 'x', ตามด้วย NOT ตัวอักษร
'a', ไม่ใช่ 'b' และไม่ใช่ 'c',
จากนั้นตัวอักษร 'z':
txt = 'xaz xbz xcz xez'
res = re.sub('x[^abc]z', '!', txt)
print(res)
ผลลัพธ์ของการรันโค้ด:
'xax xbx xcx !'
ตัวอย่าง
ในตัวอย่างนี้ รูปแบบการค้นหามีลักษณะ
ดังนี้: ตัวอักษร 'x', ตามด้วย NOT ตัวอักษร
ภาษาอังกฤษพิมพ์เล็ก, จากนั้นตัวอักษร 'z':
txt = 'xaz xbz x1z xCz'
res = re.sub('x[^a-z]z', '!', txt)
print(res)
ผลลัพธ์ของการรันโค้ด:
'xaz xbz ! !'
โจทย์ฝึกปฏิบัติ
เขียน Regular Expression ที่ค้นหาสตริง
ตามรูปแบบ: ตัวเลข 1, ตามด้วยตัวอักษร
ที่ไม่ใช่ 'e' และไม่ใช่ 'x', ตัวเลข
2
เขียน Regular Expression ที่ค้นหาสตริง
ตามรูปแบบ: ตัวอักษร 'x', ตามด้วย NOT
ตัวเลขตั้งแต่ 2 ถึง 7, ตัวอักษร
'z'
เขียน Regular Expression ที่ค้นหาสตริง
ตามรูปแบบ: ตัวอักษร 'x', ตามด้วย NOT
ตัวอักษรภาษาอังกฤษพิมพ์ใหญ่ตั้งแต่ 1 ครั้งขึ้นไป
, ตัวอักษร 'z'
เขียน Regular Expression ที่ค้นหาสตริง
ตามรูปแบบ: ตัวอักษร 'x', ตามด้วย NOT
ตัวอักษรภาษาอังกฤษพิมพ์ใหญ่หรือพิมพ์เล็กและ
ไม่ใช่ตัวเลขตั้งแต่ 1 ถึง 5 ตั้งแต่ 1
ครั้งขึ้นไป, ตัวอักษร 'z'