Ungkapan biasa dalam JavaScript menawarkan mekanisme yang berkuasa untuk memadankan dan mengekstrak corak dalam rentetan. Apabila ungkapan biasa termasuk subungkapan kurungan, ia boleh membuat kumpulan tangkapan. Kumpulan ini boleh diakses untuk mendapatkan semula subrentetan sepadan yang sepadan.
Kumpulan tangkapan yang dipadankan boleh diakses menggunakan kaedah exec(). Kaedah ini mengembalikan tatasusunan di mana setiap elemen sepadan dengan kumpulan tangkapan dalam ungkapan biasa. Elemen pertama dalam tatasusunan mewakili keseluruhan rentetan yang dipadankan, manakala elemen berikutnya mewakili subrentetan yang dipadankan untuk setiap kumpulan tangkapan.
Pertimbangkan kod berikut:
var myString = "something format_abc"; var regex = /(?:^|\s)format_(.*?)(?:\s|$)/; var matches = regex.exec(myString);
Dalam contoh ini, ungkapan biasa sepadan dengan subrentetan "format_abc" dalam myString. Kaedah exec() mengembalikan tatasusunan dengan tiga elemen:
Indeks Tatasusunan: Pastikan anda menggunakan indeks tatasusunan yang betul untuk mengakses kumpulan tangkapan yang dikehendaki. padanan[0] sentiasa mewakili keseluruhan rentetan yang dipadankan, dan indeks lain sepadan dengan kumpulan tangkapan.
Watak Khas: Kumpulan tangkap boleh mengandungi aksara khas. Apabila mengelog atau memanipulasi subrentetan yang ditangkap, perhatikan aksara ini dan potensi kesannya pada kod lain.
Untuk senario yang lebih maju, String. kaedah prototype.matchAll menyediakan cara yang mudah untuk mengulangi semua padanan dalam rentetan. Ia mengembalikan iterator yang boleh digunakan dengan gelung for-of untuk mengakses setiap perlawanan dan kumpulan tangkapannya.
Dengan memahami cara mengakses kumpulan tangkapan dalam ungkapan biasa JavaScript, anda boleh dengan berkesan mengekstrak dan memanipulasi bahagian tertentu rentetan. Ingat untuk mempertimbangkan indeks tatasusunan dan aksara khas untuk mengelakkan kemungkinan perangkap. Kaedah String.prototype.matchAll menawarkan cara yang lebih komprehensif untuk mengendalikan berbilang padanan dalam versi JavaScript yang lebih baharu.
Atas ialah kandungan terperinci Bagaimanakah Saya Mengakses Kumpulan Tangkap dalam Ungkapan Biasa JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!