Ushbu ochiq manbali loyihani butun dunyo bo'ylab odamlar uchun taqdim etmoqchimiz.

Ushbu qo'llanmaning mazmuni sizning tilingizga tarjima qilishga yordam bering!

6 сентябр 2025

Langarlarning ko'p qatorli rejimi ^ $, "m" bayrog'i

Ko’p qatorli rejim m bayrog’i bilan yoqiladi.

U faqat ^ va $ ning harakatiga ta’sir qiladi.

Ko’p qatorli rejimda ular nafaqat satr boshi va oxirida, balki har bir qator boshi/oxirida ham mos keladi.

Qator boshida qidirish ^

Quyidagi misolda matn bir nechta qatorga ega. /^\d/gm naqshi har bir qator boshidan raqamni oladi:

let str = `1st place: Winnie 2nd place: Piglet 3rd place: Eeyore`; alert( str.match(/^\d/gm) ); // 1, 2, 3

m bayrog’isiz faqat birinchi raqam topiladi:

let str = `1st place: Winnie 2nd place: Piglet 3rd place: Eeyore`; alert( str.match(/^\d/g) ); // 1

Buning sababi, sukut bo’yicha karet ^ faqat matn boshida mos keladi, ko’p qatorli rejimda esa – har qanday qator boshida.

Esda tuting:

“Qator boshi” rasmiy ma’noda “qator uzilishidan darhol keyin” degani: ko’p qatorli rejimda ^ testi yangi qator belgisi \n dan oldin kelgan barcha pozitsiyalarda mos keladi.

Va matn boshida ham.

Qator oxirida qidirish $

Dollar belgisi $ ham xuddi shunday harakat qiladi.

\d$ doimiy ifodasi har bir qatordagi oxirgi raqamni topadi

let str = `Winnie: 1 Piglet: 2 Eeyore: 3`; alert( str.match(/\d$/gm) ); // 1,2,3

m bayrog’isiz dollar $ faqat butun matn oxirida mos keladi, shuning uchun faqat eng oxirgi raqam topiladi.

Esda tuting:

“Qator oxiri” rasmiy ma’noda “qator uzilishidan darhol oldin” degani: ko’p qatorli rejimda $ testi yangi qator belgisi \n dan keyin keladigan barcha pozitsiyalarda mos keladi.

Va matn oxirida ham.

^ $ o’rniga \n qidirish

Yangi qatorni topish uchun biz nafaqat ^ va $ langarlardan, balki yangi qator belgisi \n dan ham foydalanishimiz mumkin.

Farq nimada? Keling, misolni ko’raylik.

Bu yerda biz \d$ o’rniga \d\n ni qidiraymiz:

let str = `Winnie: 1 Piglet: 2 Eeyore: 3`; alert( str.match(/\d\n/gm) ); // 1\n,2\n

Ko’rib turganingizdek, 3 o’rniga 2 ta moslik bor.

Buning sababi 3 dan keyin yangi qator yo’q (lekin matn oxiri bor, shuning uchun u $ ga mos keladi).

Boshqa farq: endi har bir moslik yangi qator belgisi \n ni o’z ichiga oladi. Faqat shartni tekshiradigan (qator boshi/oxiri) ^ $ langarlardan farqli o’laroq, \n belgidir, shuning uchun u natijaning bir qismi bo’ladi.

Shunday qilib, naqshdagi \n natijada yangi qator belgilari kerak bo’lganda ishlatiladi, langarlar esa qator boshi/oxirida biror narsani topish uchun ishlatiladi.

O'quv qo'llanma xaritasi

Izohlar

izoh berishdan oldin buni o'qing…
  • Agar sizda nimani yaxshilash kerakligi haqida takliflaringiz bo'lsa - iltimos, GitHub muammosini yuboring yoki izoh berish o'rniga so'rov yuboring.
  • Agar siz maqolada biror narsani tushunolmasangiz - iltimos, batafsilroq ma'lumot bering.
  • Bir nechta so'z so'zlarini kiritish uchun <code> yorlig'ini ishlating, bir nechta satrlar uchun - ularni <pre> yorlig'i bilan o'rab qo'ying, 10 satrdan ortiq bo'lsa - sandbox (plnkr, jsbin, codepen…)