Pertandingan Javascript StringSemua ()

Kaedah JavaScript String matchAll () mengembalikan iterator hasil memadankan rentetan dengan ungkapan biasa.

Sintaks matchAll()kaedahnya adalah:

 str.matchAll(regexp)

Di sini, stradalah tali.

matchAll () Parameter

The matchAll()Cara mengambil masa dalam:

  • regexp - Objek ekspresi biasa (Hujah secara implisit ditukar menjadi RegExpjika RegExpobjek bukan objek)

Catatan: Jika RegExpobjek tidak mempunyai /gbendera, TypeErrorakan dilemparkan.

Nilai pulangan dari matchAll ()

  • Mengembalikan iterator yang mengandungi padanan termasuk kumpulan penangkap.

Catatan : Pengulangan yang dikembalikan setiap item akan mempunyai sifat tambahan berikut:

  • groups - Objek kumpulan penangkap bernama yang mempunyai kunci sebagai nama dan nilai sebagai padanan yang ditangkap.
  • index - Indeks carian di mana hasilnya dijumpai.
  • input - Salinan rentetan carian.

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); )

Pengeluaran

 ('JavaScript', indeks: 14, input: 'Saya belajar JavaScript bukan Java.', Kumpulan: undefined) ('Java', indeks: 29, input: 'Saya belajar JavaScript bukan Java.', Kumpulan: undefined)

Di sini, iterator yang dikembalikan berulang kali menggunakan for… ofloop.

Contoh 2: Menggunakan matchAll untuk menangkap kumpulan

 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'))`) )

Pengeluaran

Dijumpai "nama Albert." pada indeks 3. Nama yang ditangkap = Albert Ditemui "NAMA adalah Soyuj." pada indeks 24. Nama yang ditangkap = Soyuj

Di sini, kami telah menggunakan ungkapan biasa untuk mencocokkan bahagian rentetan tertentu. Kami dapat menangkap kumpulan tertentu dalam perlawanan menggunakan matchAll()lebih baik daripada match().

Bacaan yang Disyorkan: Pertandingan Rentetan JavaScript ()

Artikel menarik...