กลุ่มจับใน method match ของ Regular Expression ใน JavaScript
อย่างที่คุณทราบแล้ว บรรทัดย่อยที่พบผ่าน method match
จะไปอยู่ในองค์ประกอบที่ศูนย์ของอาร์เรย์ผลลัพธ์
ในองค์ประกอบอื่นๆ ของอาร์เรย์นี้ จะมีสิ่งที่เรียกว่า กลุ่มจับ อยู่
กลุ่มจับเป็นวิธีแยกส่วนที่พบออกเป็นส่วนๆ เพื่อใช้งานคุณต้องใส่ส่วนหนึ่งของ regular expression ในวงเล็บ ในกรณีนี้ในอาร์เรย์ผลลัพธ์ นอกจากสตริงที่พบแล้ว ยังจะมี สิ่งที่ตรงกับ regular expression ที่อยู่ในวงเล็บเหล่านั้นด้วย
ลองฝึกปฏิบัติดู สมมติว่าเรามีสตริง แสดงเวลาแบบนี้:
let str = '12:34';
ลองใส่ชั่วโมงและนาทีจาก เวลานี้ลงในกลุ่มจับแยกกัน:
let res = str.match(/(\d+):(\d+)/);
มาดูผลลัพธ์กัน:
console.log(res[0]); // '12:34' - สิ่งที่พบ
console.log(res[1]); // '12' - กลุ่มจับที่ 1
console.log(res[2]); // '34' - กลุ่มจับที่ 2
กำหนดสตริงที่มีโดเมน:
let str = 'sss domain.ru zzz';
หาโดเมนนี้และใส่ชื่อโดเมนลงในกลุ่มจับแรก และส่วนขยาย (zone) ลงในกลุ่มจับที่สอง
กำหนดสตริงที่มีวันที่:
let str = '31.12.2025';
ใส่วันลงในกลุ่มจับแรก เดือนลงใน กลุ่มจับที่สอง และปีลงในกลุ่มจับที่สาม