# matchAll() using named groups

[JS](../../../../..) ⟩ [primitives](../../..) ⟩ [String](../..) ⟩ [methods](..) ⟩ [.matchAll()]() ⟩ using named groups

{% tabs %}
{% tab title="💾 程式" %}
💾 程式：[replit](https://replit.com/@pegasusroe/strmatchAllregex)

```javascript
// ⭐️ 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
```
{% endtab %}

{% tab title="👥 相關" %}
* [](<> "mention") returns an [iterable](../../../../../iteration/iterator/iterable "mention").
* matching using [named-group](../../../../builtin/regex/pattern/group/capturing-group/named-group "mention")s.
{% endtab %}
{% endtabs %}
