⊗jsSpRENPB 132 of 294 menu

JavaScript regular ifodalarda saqlanmaydigan qavslar

Qavslar ( ) ikkita funktsiyani bajaradi - belgilarni guruhlash va "karman" funktsiyasi. Ammo agar biz guruhlashimiz kerak, lekin karmanga solmasak-chi? Bunday muammoni hal qilish uchun maxsus saqlanmaydigan qavslar (?: ) yaratilgan - ular guruhlaydi, lekin karmanga joylamaydi.

Misol

Quyidagi misolda birinchi qavslar bizga guruhlash uchun kerak, ikkinchilari esa karman uchun. Biroq, ikkala qavs ham ma'lumotlarni karmanga saqlaydi:

let str = 'abab123'; let res = str.match(/(ab)+([1-9]+)/);

Natijada bizning karmanlarimizda quyidagilar bo‘ladi:

console.log(res[0]); // 'abab123' chiqadi console.log(res[1]); // 'ab' chiqadi console.log(res[2]); // '123' chiqadi

Misol

Keling, birinchi qavslar faqat guruhlash uchun ishlatiladi, lekin karmanga solinmasin qilaylik:

let str = 'abab123'; let res = str.match(/(?:ab)+([1-9]+)/);

Natijada birinchi karmanda bizning raqamimiz bo‘ladi:

console.log(res[1]); // '123' chiqadi
byptrohusw