การใช้ Named Capturing Groups ภายใน Regular Expression ใน JavaScript
ขอให้เรานึกย้อนถึงวิธีที่เราใช้ capturing groups ภายใน regular expression นั่นเอง:
let res = str.replace(/([a-z])\1/g, '!');
บางครั้งมีสถานการณ์ที่สะดวกกว่าในการอ้างอิงถึง group ไม่ใช่ด้วยหมายเลขของมัน แต่ด้วยชื่อ สำหรับ สิ่งนี้เราจำเป็นต้องตั้งชื่อให้กับ group:
let res = str.replace(/(?<letter>[a-z])/g, '!');
ตอนนี้เราสามารถอ้างอิงถึง group นี้
ผ่านไวยากรณ์ \k<name> ได้ ดังนี้:
let res = str.replace(/(?<letter>[a-z])\k<letter>/g, '!');
กำหนดให้สตริง:
let str = '12:59:59 12:59:12 09:45:09';
จงค้นหาสตริงย่อยทั้งหมดที่เป็นเวลา ซึ่ง ชั่วโมงตรงกับวินาที