Anchors (จุดซัก) เป็น token ใน regex ที่ไม่จับคู่อักขระใดๆ แต่ระบุ/ยืนยันสิ่งเกี่ยวกับสตริงหรือกระบวนการจับคู่ Anchors บอกตำแหน่งปัจจุบันของ engine ในสตริงว่าตรงกับตำแหน่งที่กำหนด เช่นต้นสตริง/บรรทัด หรือท้ายสตริง/บรรทัด
ประโยชน์ของ Anchors:
- ระบุให้จับคู่อักขระ/ตัวเลขที่ ต้นหรือท้าย สตริง/บรรทัดเท่านั้น ไม่ใช่ที่อื่น
- ช่วยให้ 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