ตัวอักษรเริ่มต้นและสิ้นสุดบรรทัดใน Python Regular Expressions
มีตัวอักษรพิเศษที่ใช้แทนการ
เริ่มต้น '^' หรือการสิ้นสุด
บรรทัด '$' ลองดูการทำงานของพวกมัน
จากตัวอย่าง
ตัวอย่าง
ในตัวอย่างนี้รูปแบบการค้นหาคือ:
แทนที่ 'aaa' ด้วย '!'
ก็ต่อเมื่อมันอยู่ที่จุดเริ่มต้นของบรรทัด:
txt = 'aaa aaa aaa'
res = re.sub('^aaa', '!', txt)
print(res)
ผลลัพธ์จากการรันโค้ด:
'! aaa aaa'
ตัวอย่าง
ในตัวอย่างนี้รูปแบบการค้นหาคือ:
แทนที่ 'aaa' ด้วย '!'
ก็ต่อเมื่อมันอยู่ที่จุดสิ้นสุดของบรรทัด:
txt = 'aaa aaa aaa'
res = re.sub('aaa$', '!', txt)
print(res)
ผลลัพธ์จากการรันโค้ด:
'aaa aaa !'
ตัวอย่าง
เมื่อ regular expression ขึ้นต้นด้วย '^'
และลงท้ายด้วย '$' นั่นหมายความว่า
การตรวจสอบทั้งบรรทัดต้องตรงกับ
regular expression ทั้งหมด
ในตัวอย่างต่อไปนี้รูปแบบการค้นหาคือ:
ตัวอักษร 'a' ซ้ำหนึ่งครั้งหรือ
มากกว่า แทนที่ทั้งบรรทัดด้วย '!'
ก็ต่อเมื่อบรรทัดนั้นประกอบด้วยตัวอักษร 'a' เท่านั้น:
txt = 'aaa'
res = re.sub('^a+$', '!', txt)
print(res)
ผลลัพธ์จากการรันโค้ด:
'!'
แบบฝึกหัด
กำหนดสตริง:
txt = 'abc def xyz'
เขียน regular expression เพื่อหาสตริงย่อยแรก ที่ประกอบด้วยตัวอักษร
กำหนดสตริง:
txt = 'abc def xyz'
เขียน regular expression เพื่อหาสตริงย่อยสุดท้าย ที่ประกอบด้วยตัวอักษร