EXEC adalah metode ekspresi reguler, bukan metode string, dan parameternya adalah string, seperti yang ditunjukkan di bawah ini:
var re = regexp baru (// d/); re.exec ("abc4def"); // atau gunakan gaya perl: //d/.exec ("abc4def"); // match adalah metode yang disediakan oleh kelas string. Parameternya adalah objek ekspresi reguler. Penggunaan berikut ini benar: "ABC4DEF" .match (/d);EXEC DAN Pencocokan Array Return
Jika ekspresi reguler yang mengeksekusi metode EXEC tidak dikelompokkan (tanpa tanda kurung), maka jika ada kecocokan, itu akan mengembalikan array dengan hanya satu elemen, dan satu -satunya elemen array ini adalah string pertama yang cocok dengan ekspresi reguler; Jika tidak ada kecocokan, itu akan mengembalikan nol.
Dua fungsi peringatan berikut informasi pop up adalah sama:
var str = "kucing, topi"; var p =/at/; // Tidak ada peringatan atribut G (p.exec (str)) alert (str.match (p))
Semuanya "at". Dalam hal ini, EXEC setara untuk dicocokkan.
Namun, jika ekspresi reguler dicocokkan secara global (atribut G), kode di atas akan memiliki hasil yang berbeda:
var str = "kucing, topi"; var p =/at/g; // Perhatikan peringatan Atribut G (p.exec (str)) (str.match (p))
Mereka
"pada"
"at, at".
Karena Exec akan selalu mengembalikan pertandingan pertama, dan pertandingan akan mengembalikan semua pertandingan ketika atribut G ditentukan secara teratur.
Jika seorang eksekutif menemukan kecocokan dan berisi grup, array yang dikembalikan akan berisi banyak elemen. Elemen pertama adalah pertandingan yang ditemukan, dan elemen selanjutnya adalah yang pertama, kedua ... pengelompokan kedua dalam pertandingan (referensi terbalik)
Kode berikut akan muncul "cat2, at":
var str = "cat2, hat8"; var p =/c (at)/d/; waspada (p.exec (str)))
Elemen pertama adalah string yang cocok "Cat2", dan elemen berikutnya adalah pencocokan "pada" dalam tanda kurung.
Fungsi kecocokan akan mengganggu kondisi berikut dan mewujudkan fungsi yang sama dengan exec:
1. Ekspresi reguler berisi pengelompokan (kurung)
2. Kembalikan pertandingan unik
Mari kita lihat kode berikut:
var str = "cat2, hat8"; var p =/c (at)/d/; waspada (p.exec (str)) waspada (str.match (p))
Pesan "Cat2, AT" akan muncul. Apakah Anda pikir itu sangat aneh?
Meringkaskan:
Match adalah array yang mengembalikan semua string yang cocok, tetapi ekspresi reguler harus menentukan atribut G global untuk mengembalikan semua pertandingan. Jika atribut G tidak ditentukan, array dengan hanya satu elemen akan dikembalikan.
EXEC selalu mengembalikan informasi yang terkait dengan pertandingan pertama, yang mengembalikan array termasuk string pertandingan pertama, backreferences ke semua paket.
Dalam beberapa kasus, hasil yang dikembalikan oleh EXEC sama dengan hasil yang dikembalikan oleh kecocokan:
var str = "kucing, topi"; var p =/at/; // Tidak ada peringatan atribut G (p.exec (str)) alert (str.match (p))
"at" muncul
Dalam beberapa kasus, hasil yang dikembalikan oleh pertandingan sama dengan hasil yang dikembalikan oleh eksekutif:
var str = "cat2, hat8"; var p =/c (at)/d/; waspada (p.exec (str)) waspada (str.match (p))
"Cat2, at" muncul
Artikel di atas analisis mendalam dari metode EXEC dan kecocokan dalam JavaScript adalah semua konten yang saya bagikan dengan Anda. Saya harap ini dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.