ลักษณะพิเศษของตัวอักษรซีริลลิกใน regex ของ Python
ข้อได้เปรียบใหญ่ของ regex ใน Python
คือสัญลักษณ์ตัวอักษรซีริลลิก
อยู่ในกลุ่ม \w ลองมาแทนที่
ตัวอักษรละตินและซีริลลิกทั้งหมดใน
สตริงต่อไปนี้:
txt = 'x232x 456 xax xтекстx'
res = re.sub('x[\w]*x', '!', txt)
print(res)
ผลลัพธ์การทำงานของโค้ด:
'! 456 ! !'
นอกจากนี้ยังสามารถค้นหาตัวอักษรซีริลลิกได้ด้วย
กลุ่มในวงเล็บเหลี่ยม: [а-я]
แต่มีปัญหากับมัน - ตัวอักษร
'ё' จะไม่อยู่ในนี้ ในการรวมมันต้อง
เติมตัวอักษรนี้เข้าไปในกลุ่ม:
res = re.sub('x[а-яё]*x', '!', txt)
print(res)
ผลลัพธ์การทำงานของโค้ด:
'! 456 xax !'
กำหนดสตริง:
txt = 'wйw wяw wёw wqw'
เขียน regex ที่จะค้นหาสตริง
ตามรูปแบบ: ที่ขอบมีตัวอักษร
'w' และระหว่างพวกมันคือตัวอักษรซีริลลิก
กำหนดสตริง:
txt = 'ааа ббб ёёё ззз ййй ААА БББ ЁЁЁ ЗЗЗ ЙЙЙ'
เขียน regex ที่จะค้นหาคำทั้งหมด ตามรูปแบบ: ตัวอักษรซีริลลิกใด ๆ จำนวนครั้งใด ๆ