Kaedah JavaScript String match () mengembalikan hasil pemadanan rentetan dengan ungkapan biasa.
Sintaks match()
kaedahnya adalah:
str.match(regexp)
Di sini, str adalah rentetan.
sepadan () Parameter
The match()
Cara mengambil masa dalam:
- regexp - Objek ekspresi biasa (Hujah secara implisit ditukar menjadi
RegExp
jikaRegExp
objek bukan objek)
Catatan: Sekiranya anda tidak memberikan parameter, match()
pulangkan ("")
.
Nilai pulangan dari perlawanan ()
- Mengembalikan yang
Array
mengandungi pertandingan, satu item untuk setiap perlawanan. - Kembali
null
jika tiada perlawanan.
Contoh 1: Menggunakan padanan ()
const string = "I am learning JavaScript not Java."; const re = /Java/; let result = string.match(re); console.log("Result of matching /Java/ :"); console.log(result); const re1 = /Java/g; let result1 = string.match(re1); console.log("Result of matching /Java/ with g flag:") console.log(result1);
Pengeluaran
Hasil pemadanan / Java /: ('Java', indeks: 14, input: 'Saya belajar JavaScript bukan Java.', Kelompok: tidak ditentukan) Hasil pemadanan / Java / dengan bendera g: ('Java', 'Java' )
Di sini, kita dapat melihat bahawa tanpa menggunakan g
bendera, hasilnya hanya mendapat pertandingan pertama tetapi dengan maklumat terperinci seperti indeks, input, dan kumpulan.
Catatan : Jika ungkapan biasa tidak menyertakan g
bendera, str.match()
hanya akan mengembalikan padanan pertama yang serupa dengan RegExp.exec()
. Item yang dikembalikan juga 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 2: Memadankan bahagian dalam rentetan
const string = "My name is Albert. YOUR NAME is Soyuj."; // expression matches case-insensitive "name is"+ any alphabets till period (.) const re = /namesiss(a-zA-Z)+./gi; let result = string.match(re); console.log(result); // ( 'name is Albert.', 'NAME is Soyuj.' ) // using named capturing groups const re1 = /namesiss(?(a-zA-Z)+)./i; let found = string.match(re1); console.log(found.groups); // (name: "Albert")
Pengeluaran
('name is Albert.', 'NAME is Soyuj.') (nama: "Albert")
Di sini, kami telah menggunakan ungkapan biasa untuk mencocokkan bahagian rentetan tertentu. Kami juga dapat menangkap kumpulan tertentu dalam pertandingan menggunakan sintaks seperti yang ditunjukkan di atas.
Bacaan yang Disyorkan: Perlawanan rentetan JavaScriptSemua ()