ขอบเขตของคำใน Regular Expression Python

ด้วยเครื่องหมาย '\\b' เราสามารถ อ้างอิงถึงขอบเขตของคำได้ และด้วย เครื่องหมาย '\B' หรือ '\\B' - อ้างอิงถึงสิ่งที่ "ไม่ใช่" ขอบเขต โปรดทราบว่า ในกรณีของการกำหนดขอบเขตคำใน Python จะใช้การ escape อย่างเคร่งครัดด้วย backslash สองตัว ถึงแม้ว่าสำหรับเครื่องหมายอื่นๆ จะอนุญาตให้ใช้ backslash ตัวเดียวได้ ลองมาดู การทำงานของเครื่องหมายเหล่านี้จากตัวอย่างกัน

ตัวอย่าง

ลองห่อหุ้มแต่ละคำด้วยสัญลักษณ์ '!' ดู:

pythontxt = 'aaa aaa aaa'
print(re.sub('\\b', '!', txt))

ผลลัพธ์จากการรันโค้ด:

python'!aaa! !aaa! !aaa!'

ตัวอย่าง

ลองเพิ่มสัญลักษณ์ '!' ลงใน ช่องว่างระหว่างตัวอักษร:

pythontxt = 'aaa aaa aaa'
print(re.sub('\\B', '!', txt))

ผลลัพธ์จากการรันโค้ด:

python'a!a!a a!a!a a!a!a'

โจทย์ฝึกปฏิบัติ

Задание 1

กำหนดสตริง:

pythontxt = 'abc def xyz'

เขียน Regular Expression ที่จะเปลี่ยน สตริงนี้ให้เป็นดังนี้:

python'#abc# #def# #xyz#'
Задание 2

กำหนดสตริง:

pythontxt = 'abc def xyz'

เขียน Regular Expression ที่จะเปลี่ยน สตริงนี้ให้เป็นดังนี้:

python'a+b+c d+e+f x+y+z'