การ match แบบ global ใน regular expressions ของ JavaScript
เมธอด match ที่เรียกใช้พร้อมมอดิไฟเออร์
g จะคืนค่าการจับคู่ทั้งหมดที่พบ
ในรูปแบบของอาร์เรย์ มาดูตัวอย่างกัน
ตัวอย่าง
มาดูการได้อาร์เรย์ของสตริงย่อยที่ประกอบด้วย
ตัวอักษร 'a':
let str = 'a aa aaa aaaa';
let res = str.match(/a+/g);
ผลลัพธ์ที่เขียนลงในตัวแปรจะเป็นดังนี้:
['a', 'aa', 'aaa', 'aaaa']
ตัวอย่าง
มาดูการได้อาร์เรย์ของตัวเลข:
let str = '1 23 456 789';
let res = str.match(/\d+/g);
ผลลัพธ์ที่เขียนลงในตัวแปรจะเป็นดังนี้:
['1', '23', '456', '789']
ตัวอย่าง
มาดูการได้อาร์เรย์ของตัวเลขทั้งหมด:
let str = '1 23 456 789';
let res = str.match(/\d/g);
ผลลัพธ์ที่เขียนลงในตัวแปรจะเป็นดังนี้:
['1', '2', '3', '4', '5', '6', '7', '8', '9']
โจทย์ฝึกปฏิบัติ
กำหนดสตริง:
let str = 'site.ru sss site.com zzz site.net';
ให้ได้อาร์เรย์ของชื่อโดเมนจากสตริงนี้
กำหนดสตริง:
let str = 'a1b c34d x567z';
หาผลรวมของตัวเลขทั้งหมดในสตริงนี้