Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mengekstrak Semua Padanan daripada String Menggunakan RegExp.exec()?

Bagaimana untuk Mengekstrak Semua Padanan daripada String Menggunakan RegExp.exec()?

Susan Sarandon
Susan Sarandonasal
2024-12-18 06:00:15322semak imbas

How to Extract All Matches from a String Using RegExp.exec()?

RegExp untuk Mengekstrak Berbilang Padanan Menggunakan RegExp.exec

Untuk mengekstrak semua padanan daripada rentetan menggunakan RegExp.exec, anda boleh terus memanggil semula .exec(s) dalam gelung. Coretan kod berikut menunjukkan perkara ini:

var re = /\s*([^[:]+):\"([^"]+)"/g;
var s = '[description:"aoeu" uuid:"123sth"]';
var m;

do {
    m = re.exec(s);
    if (m) {
        console.log(m[1], m[2]);
    }
} while (m);

Dengan rentetan ujian yang disediakan '[description:"aoeu" uuid:"123sth"]', kod ini akan mengeluarkan:

description aoeu
uuid 123sth

Ambil perhatian bahawa ungkapan biasa yang digunakan di sini:

  • s*: Memadankan ruang putih pilihan di sekeliling bertindih.
  • ([^[:] ): Memadankan mana-mana jujukan bukan ruang putih sebagai kunci.
  • :: Padan dengan kolon literal.
  • ("([^ "] )": Memadankan nilai sebagai mana-mana urutan bukan petikan berganda yang disertakan dalam petikan berganda.

Kepada uji penyelesaian ini, anda boleh menggunakan pautan JSFiddle yang disediakan: https://jsfiddle.net/7yS2V/.

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Semua Padanan daripada String Menggunakan RegExp.exec()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn