JS ⟩ primitives ⟩ String ⟩ methods ⟩ .matchAll() ⟩ using named groups
💾 程式:replit
// ⭐️ pattern: yyyy-mm-dd (⭐️ using "named groups")
// ╭--- year ---╮ ╭--- month ---╮ ╭--- day ---╮
let date = /(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/g;
// text
let str = "2019-10-30, 2020-01-01, 18:24:00";
// ⭐️⭐️⭐️ result of `str.matchAll()` is an "iterable", NOT an array❗️
let matches = str.matchAll(date);
for (let match of matches) {
let { year, month, day } = match.groups; // ⭐️ object destruturing
console.log(`year: ${year}, month: ${month}, day: ${day}`);
}
// output
// -------------------------------
// year: 2019, month: 10, day: 30
// year: 2020, month: 01, day: 01