การ match แบบ global ใน regular expressions ของ JavaScript

เมธอด match ที่เรียกใช้พร้อมมอดิไฟเออร์ g จะคืนค่าการจับคู่ทั้งหมดที่พบ ในรูปแบบของอาร์เรย์ มาดูตัวอย่างกัน

ตัวอย่าง

มาดูการได้อาร์เรย์ของสตริงย่อยที่ประกอบด้วย ตัวอักษร 'a':

javascriptlet str = 'a aa aaa aaaa';
let res = str.match(/a+/g);

ผลลัพธ์ที่เขียนลงในตัวแปรจะเป็นดังนี้:

javascript['a', 'aa', 'aaa', 'aaaa']

ตัวอย่าง

มาดูการได้อาร์เรย์ของตัวเลข:

javascriptlet str = '1 23 456 789';
let res = str.match(/\d+/g);

ผลลัพธ์ที่เขียนลงในตัวแปรจะเป็นดังนี้:

javascript['1', '23', '456', '789']

ตัวอย่าง

มาดูการได้อาร์เรย์ของตัวเลขทั้งหมด:

javascriptlet str = '1 23 456 789';
let res = str.match(/\d/g);

ผลลัพธ์ที่เขียนลงในตัวแปรจะเป็นดังนี้:

javascript['1', '2', '3', '4', '5', '6', '7', '8', '9']

โจทย์ฝึกปฏิบัติ

Задание 1

กำหนดสตริง:

javascriptlet str = 'site.ru sss site.com zzz site.net';

ให้ได้อาร์เรย์ของชื่อโดเมนจากสตริงนี้

Задание 2

กำหนดสตริง:

javascriptlet str = 'a1b c34d x567z';

หาผลรวมของตัวเลขทั้งหมดในสตริงนี้