กลุ่มจับใน method match ของ Regular Expression ใน JavaScript

อย่างที่คุณทราบแล้ว บรรทัดย่อยที่พบผ่าน method match จะไปอยู่ในองค์ประกอบที่ศูนย์ของอาร์เรย์ผลลัพธ์ ในองค์ประกอบอื่นๆ ของอาร์เรย์นี้ จะมีสิ่งที่เรียกว่า กลุ่มจับ อยู่

กลุ่มจับเป็นวิธีแยกส่วนที่พบออกเป็นส่วนๆ เพื่อใช้งานคุณต้องใส่ส่วนหนึ่งของ regular expression ในวงเล็บ ในกรณีนี้ในอาร์เรย์ผลลัพธ์ นอกจากสตริงที่พบแล้ว ยังจะมี สิ่งที่ตรงกับ regular expression ที่อยู่ในวงเล็บเหล่านั้นด้วย

ลองฝึกปฏิบัติดู สมมติว่าเรามีสตริง แสดงเวลาแบบนี้:

javascriptlet str = '12:34';

ลองใส่ชั่วโมงและนาทีจาก เวลานี้ลงในกลุ่มจับแยกกัน:

javascriptlet res = str.match(/(\d+):(\d+)/);

มาดูผลลัพธ์กัน:

javascriptconsole.log(res[0]); // '12:34' - สิ่งที่พบ
console.log(res[1]); // '12'    - กลุ่มจับที่ 1
console.log(res[2]); // '34'    - กลุ่มจับที่ 2
Задание 1

กำหนดสตริงที่มีโดเมน:

javascriptlet str = 'sss domain.ru zzz';

หาโดเมนนี้และใส่ชื่อโดเมนลงในกลุ่มจับแรก และส่วนขยาย (zone) ลงในกลุ่มจับที่สอง

Задание 2

กำหนดสตริงที่มีวันที่:

javascriptlet str = '31.12.2025';

ใส่วันลงในกลุ่มจับแรก เดือนลงใน กลุ่มจับที่สอง และปีลงในกลุ่มจับที่สาม