Perbedaan antara Tes, Exec, Metode Cocok dalam Ekspresi Reguler JS
tes
Tes mengembalikan boolean untuk menemukan mode keberadaan di string yang sesuai.
var str = "1a1b1c";
var reg = regexp baru ("1.", "");
Peringatan (Reg.Test (str));
EXEC
EXEC menemukan dan mengembalikan hasil pencocokan saat ini, dan kembali dalam bentuk array.
var str = "1a1b1c";
var reg = regexp baru ("1.", "");
var anrr = reg.exec (str);
Jika tidak ada mode, ARR adalah nol, jika tidak, ARR selalu merupakan array dengan panjang 1, dan nilainya adalah pencocokan saat ini. Ada tiga atribut ARR: posisi pencocokan indeks saat ini;
Metode EXEC dipengaruhi oleh parameter G. Jika G ditentukan, ketika EXEC dipanggil lain kali, Anda akan mulai dari LastIndex, yang dicocokkan.
var str = "1a1b1c";
var reg = regexp baru ("1.", "");
peringatan (Reg.exec (str) [0]);
peringatan (Reg.exec (str) [0]);
Dua output di atas adalah 1a. Sekarang lihat parameter yang ditentukan g:
var str = "1a1b1c";
var reg = regexp baru ("1.", "g");
peringatan (Reg.exec (str) [0]);
peringatan (Reg.exec (str) [0]);
Output pertama 1A, output kedua 1b.
cocok
Pencocokan adalah metode objek string.
var str = "1a1b1c";
var reg = regexp baru ("1.", "");
alert (str.match (reg));
Metode ini sedikit seperti EXEC, tetapi: EXEC adalah metode objek RegExp; Ada perbedaan lain antara keduanya, yang merupakan penjelasan parameter G.
Jika parameter G ditentukan, maka kecocokan akan kembali ke semua hasil sekaligus.
var str = "1a1b1c";
var reg = regexp baru ("1.", "g");
alert (str.match (reg));
// Peringatan (Str.Match (Reg)); // Kalimat ini sama dengan hasil kalimat di atas sama dengan di atas.
Hasil ini adalah array dengan tiga elemen, yaitu: 1a, 1b, 1c.
Dua fungsi sering digunakan dalam JavaScript, dan kecocokan dan tes sering digunakan dalam ekspresi reguler.
Cocokkan exmple
Salin kode kode sebagai berikut:
var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSUVWXYZ";
var regexp = /[ae] /gi;
var rs = str.match (regexp);
// rs = array ('a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e');
Contoh tes
Salin kode kode sebagai berikut:
var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSUVWXYZ";
var regexp = /[ae] /gi;
var rs = regexp.test (str);
// rs = true;
Contoh exc
Salin kode kode sebagai berikut:
var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSUVWXYZ";
var regexp = /[ae] /gi;
var rs;
While ((rs = regexp.exec (str))! = Null)
{{
Document.write (RS);
Document.write (Regexp.LastIndex);
document.write ("<br />");
}
Keluaran
-------------------------------------------------- -----------------------------------
A 1
B 2
C 3
D 4
E 5
A 27
B 28
C 29
D 30
E 31
Excmple exc lainnya
Salin kode kode sebagai berikut:
var regexp = /ab* /g;
var str = "abbcdefabh";
var rs;
While ((rs = regexp.exec (str))! = Null)
{{
Document.write (RS);
Document.write (Regexp.LastIndex);
document.write ("<br />");
}
Keluaran
-------------------------------------------------- -----------------------------------
ABB 3
AB 9