Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การทำงานของ Anchors (^ และ $) ใน Regular Expression ของ Python

Anchors (จุดซัก) เป็น token ใน regex ที่ไม่จับคู่อักขระใดๆ แต่ระบุ/ยืนยันสิ่งเกี่ยวกับสตริงหรือกระบวนการจับคู่ Anchors บอกตำแหน่งปัจจุบันของ engine ในสตริงว่าตรงกับตำแหน่งที่กำหนด เช่นต้นสตริง/บรรทัด หรือท้ายสตริง/บรรทัด

ประโยชน์ของ Anchors:

  1. ระบุให้จับคู่อักขระ/ตัวเลขที่ ต้นหรือท้าย สตริง/บรรทัดเท่านั้น ไม่ใช่ที่อื่น
  2. ช่วยให้ engine ไม่ต้องค้นหา pattern ที่ตำแหน่งอื่น → เพิ่มประสิทธิภาพ ควรใช้ anchors เมื่อเป็นไปได้

Anchors หลักสองตัว

  • ^ - ต้นสตริง (หรือต้นบรรทัดในโหมด multiline)
  • $ - ท้ายสตริง (หรือท้ายบรรทัดในโหมด multiline)

ตัวอย่าง

import re
s = 'Princess Diana was a beauty icon'
result = re.search(r'^\w+', s)
print(result.group())  # Princess

result2 = re.search(r'\w+$', s)
print(result2.group())  # icon

ผลลัพธ์

Princess
icon