ขอบเขตของคำใน Regular Expression Python
ด้วยเครื่องหมาย '\\b' เราสามารถ
อ้างอิงถึงขอบเขตของคำได้ และด้วย
เครื่องหมาย '\B' หรือ '\\B' -
อ้างอิงถึงสิ่งที่ "ไม่ใช่" ขอบเขต โปรดทราบว่า
ในกรณีของการกำหนดขอบเขตคำใน Python
จะใช้การ escape อย่างเคร่งครัดด้วย
backslash สองตัว ถึงแม้ว่าสำหรับเครื่องหมายอื่นๆ
จะอนุญาตให้ใช้ backslash ตัวเดียวได้ ลองมาดู
การทำงานของเครื่องหมายเหล่านี้จากตัวอย่างกัน
ตัวอย่าง
ลองห่อหุ้มแต่ละคำด้วยสัญลักษณ์
'!' ดู:
txt = 'aaa aaa aaa'
print(re.sub('\\b', '!', txt))
ผลลัพธ์จากการรันโค้ด:
'!aaa! !aaa! !aaa!'
ตัวอย่าง
ลองเพิ่มสัญลักษณ์ '!' ลงใน
ช่องว่างระหว่างตัวอักษร:
txt = 'aaa aaa aaa'
print(re.sub('\\B', '!', txt))
ผลลัพธ์จากการรันโค้ด:
'a!a!a a!a!a a!a!a'
โจทย์ฝึกปฏิบัติ
กำหนดสตริง:
txt = 'abc def xyz'
เขียน Regular Expression ที่จะเปลี่ยน สตริงนี้ให้เป็นดังนี้:
'#abc# #def# #xyz#'
กำหนดสตริง:
txt = 'abc def xyz'
เขียน Regular Expression ที่จะเปลี่ยน สตริงนี้ให้เป็นดังนี้:
'a+b+c d+e+f x+y+z'