String Javascript matchAll ()

Metode JavaScript String matchAll () mengembalikan iterator hasil pencocokan string dengan ekspresi reguler.

Sintaks dari matchAll()metode ini adalah:

 str.matchAll(regexp)

Ini, stradalah sebuah string.

Parameter matchAll ()

The matchAll()Metode mengambil di:

  • regexp - Objek ekspresi reguler (Argumen secara implisit diubah menjadi RegExpjika itu bukan RegExpobjek)

Catatan: Jika RegExpobjek tidak memiliki /gbendera, a TypeErrorakan dilempar.

Kembalikan nilai dari matchAll ()

  • Mengembalikan iterator yang berisi pertandingan termasuk grup penangkap.

Catatan : Setiap item iterator yang dikembalikan akan memiliki properti tambahan berikut:

  • groups - Sebuah objek dari kelompok penangkap bernama memiliki kunci sebagai nama dan nilai sebagai pertandingan yang diambil.
  • index - Indeks pencarian tempat hasil ditemukan.
  • input - Salinan string pencarian.

Contoh 1: Menggunakan matchAll ()

 const string = "I am learning JavaScript not Java."; const re = /Java(a-z)*/gi; let result = string.matchAll(re); for (match of result) ( console.log(match); )

Keluaran

 ('JavaScript', indeks: 14, masukan: 'Saya sedang belajar JavaScript bukan Java.', Groups: undefined) ('Java', index: 29, input: 'I am learning JavaScript bukan Java.', Groups: undefined)

Di sini, iterator yang dikembalikan diiterasi menggunakan for… ofloop.

Contoh 2: Menggunakan matchAll untuk menangkap grup

 const string = "My name is Albert. YOUR NAME is Soyuj."; // expression matches case-insensitive "name is"+ any alphabets till period (.) // using named capturing groups const re = /namesiss(?(a-zA-Z)+)./gi; let found = string.matchAll(re); for (const match of found)( console.log(`Found "$(match(0))" at index $(match.index). Captured name = $(match.groups('name'))`) )

Keluaran

Menemukan "nama Albert." pada indeks 3. Nama yang diambil = Albert Menemukan "NAME is Soyuj." pada indeks 24. Nama yang diambil = Soyuj

Di sini, kami telah menggunakan ekspresi reguler untuk mencocokkan bagian tertentu dari string. Kami dapat menangkap kelompok tertentu dalam pertandingan menggunakan matchAll()lebih baik dari match().

Bacaan yang Direkomendasikan: JavaScript String match ()

Artikel yang menarik...