Skip to content

JavaScript RegExp Flaglari ​

Flaglar — bu regex shablonining ishlash rejimini o'zgartiradigan parametrlar, masalan, katta-kichik harfga befarq yoki global qidiruv rejimini yoqish.

/shablon/flaglar

Flaglar jadvali ​

FlagTavsif
/dPastki satrlarning mosligini aniqlaydi (2022 yangilik).
/gGlobal qidiruv (barcha mosliklarni topadi).
/iKatta-kichik harfga befarq (case-insensitive) qidiruv.
/mKo'p qatorli (multiline) moslik.
/s. (nuqta) belgisiga yangi qator (\n) belgilarini ham moslashtirish imkonini beradi (2018 yangilik).
/uUnicode qo'llab-quvvatlashni yoqadi (2015 yangilik).
/v/u flagining yaxshilangan versiyasi — kengaytirilgan Unicode qo'llab-quvvatlash (2025 yangilik).
/y"Yopishqoq" (sticky) qidiruv — faqat belgilangan pozitsiyadan qidiradi (2015 yangilik).

Flag sintaksisi ​

ElementTavsif
/Muntazam ifodaning ochuvchi chegarasi.
shablonMuntazam ifoda (qidiruv mezonlari).
/Muntazam ifodaning yopuvchi chegarasi.
flaglarBir yoki bir nechta modifikator flaglar.

/g flagi (Global) ​

/g flagi faqat birinchisini emas, barcha mosliklarni topadi.

Misol

Matndagi barcha "is" so'zlarini global qidirish:

js
let text = "Is this all there is?";
const pattern = /is/g;

let result = text.match(pattern);

/i flagi (Case-Insensitive) ​

/i flagi katta-kichik harfga e'tibor bermasdan qidiradi: /abc/i "abc", "AbC", "ABC" ga mos keladi.

Misol

Matndagi "w3schools" ni katta-kichik harfga befarq qidirish:

js
let text = "Visit W3Schools";
const pattern = /w3schools/i;

let result = text.match(pattern);

/d flagi ​

/d flagi moslikning boshlanish va tugash pozitsiyasini belgilaydi.

Misol

aa yoki bb bilan boshlanadigan yoki tugaydigan barcha pastki matnlarni topish:

js
let text = "aaaabb";
const pattern = /(aa)(bb)/d;

let result = text.match(pattern);

/s flagi (DotAll / Bir qatorli rejim) ​

/s flagi . (nuqta) metabelgisiga yangi qator belgilarini (\n) ham moslash imkonini beradi.

Misol

/s flagisiz \n belgisi . (wildcard) ga mos kelmaydi:

js
let text = "Line\nLine.";
const pattern = /Line./gs;

let result = text.match(pattern);

/y flagi (Sticky — Yopishqoq) ​

/y flagi "yopishqoq" qidiruv amalga oshiradi — u lastIndex xususiyatidan boshlab qidiradi. Moslik faqat oxirgi moslik tugagan nuqtadan boshlanadi.

Misol

js
let text = "abc def ghi";
const pattern = /\w+/y;

// 4-pozitsiyadan moslikni boshlash
pattern.lastIndex = 4;
let result = text.match(pattern);

/y flagi o'rnatilmagan bo'lsa, lastIndex o'zgartirish ishlamaydi:

js
let text = "abc def ghi";
const pattern = /\w+/;

// 4-pozitsiyadan moslikni boshlash — bu ishlamaydi
pattern.lastIndex = 4;
let result = text.match(pattern);

Eslatma

Yuqoridagi misolda \w+ regex metabelgisi ishlatilgan. \w+ "istalgan so'zga mos kelish" ma'nosini anglatadi.


/u flagi (Unicode) ​

/u flagi muntazam ifodada to'liq Unicode qo'llab-quvvatlashni yoqadi.

Odatda, JavaScript RegExp 4-baytli Unicode belgilarni (emoji yoki kamdan-kam belgilar) ikkita alohida 2-baytli "surrogat" birlik sifatida ko'radi. /u flagi shablonni Unicode kod nuqtalari ketma-ketligi sifatida ko'rib, BMP (Basic Multilingual Plane) doirasidan tashqaridagi belgilarni to'g'ri boshqaradi.

Misol

js
let text = "𠀀";
const pattern = /\u{04DC0}/u;

// true qaytaradi:
let result = pattern.test(text);

/u flagisiz muntazam ifodalar "Unicode-dan xabardor" bo'lmaydi:

js
let text = "𠀀";
const pattern = /\u{04DC0}/;

// false qaytaradi:
let result = pattern.test(text);

Eslatma

JavaScript 2025 /v flagini /u flagining "yaxshilangan versiyasi" sifatida taqdim etdi. /v flagi qo'shimcha Unicode imkoniyatlarini yoqadi.


/v flagi (Unicode Sets) ​

/v flagi — /u flagining yaxshilangan versiyasi bo'lib, kengaytirilgan Unicode qo'llab-quvvatlashni ta'minlaydi.

Yangi imkoniyatlar:

  • \p escape ketma-ketligi faqat belgilarga emas, satrlarga ham mos keladi.
  • Belgilar sinfi kesishish (intersection), birlashma (union) va ayirish (subtraction) sintaksislarini qo'llab-quvvatlaydi, shuningdek ko'p belgilik Unicode belgilarga mos keladi.

Misol

js
let text = "Hello 😄";
const pattern = /\p{Emoji}/v;

// true qaytaradi:
let result = pattern.test(text);

/v flagisiz muntazam ifodalar "Unicode-dan xabardor" bo'lmaydi:

js
let text = "Hello 😄";
const pattern = /\p{Emoji}/;

// false qaytaradi:
let result = pattern.test(text);

Guruh modifikatorlari (?flag) ​

(?flag) sintaksisi — bu guruh modifikatori (inline flag modifier). U flaglarni butun shablonga emas, balki shablonning bir qismiga qo'llash imkonini beradi.

(?flaglar:shablon) — flaglarni faqat guruhdagi shablon uchun yoqadi.

Misol

i flagi faqat W3Schools qismi uchun yoqilgan:

js
let text = "W3Schools tutorials.";
const pattern = /(?i:W3Schools) tutorials/;

// true qaytaradi:
let result = pattern.test(text);

i flagi faqat W3Schools qismiga ta'sir qiladi, "tutorials" uchun emas:

js
let text = "W3Schools Tutorials.";
const pattern = /(?i:W3Schools) tutorials/;

// false qaytaradi (tutorials katta harf bilan):
let result = pattern.test(text);

Flag xususiyatlari (Properties) ​

XususiyatTavsif
global/g flagi o'rnatilgan bo'lsa true qaytaradi.
hasIndices/d flagi o'rnatilgan bo'lsa true qaytaradi.
ignoreCase/i flagi o'rnatilgan bo'lsa true qaytaradi.
multiline/m flagi o'rnatilgan bo'lsa true qaytaradi.
dotAll/s flagi o'rnatilgan bo'lsa true qaytaradi.
sticky/y flagi o'rnatilgan bo'lsa true qaytaradi.
unicode/u flagi o'rnatilgan bo'lsa true qaytaradi.
unicodeSets/v flagi o'rnatilgan bo'lsa true qaytaradi.

dotAll xususiyati ​

js
const pattern = /W3Schools/s;
let result = pattern.dotAll; // true

global xususiyati ​

js
const pattern = /W3Schools/g;
let result = pattern.global; // true

hasIndices xususiyati ​

js
const pattern = /W3Schools/d;
let result = pattern.hasIndices; // true

ignoreCase xususiyati ​

js
const pattern = /W3Schools/i;
let result = pattern.ignoreCase; // true

multiline xususiyati ​

js
const pattern = /W3Schools/m;
let result = pattern.multiline; // true

sticky xususiyati ​

js
const pattern = /W3Schools/y;
let result = pattern.sticky; // true

unicode xususiyati ​

js
let text = "𠀀";
const pattern = /\u{04DC0}/u;
let result = pattern.unicode; // true

unicodeSets xususiyati ​

js
let text = "Hello 😄";
const pattern = /\p{Emoji}/v;
let result = pattern.unicodeSets; // true

Muntazam ifoda metodlari ​

Muntazam ifodalar yordamida qidirish va almashtirish turli metodlar bilan amalga oshiriladi.

String Metodlari ​

MetodTavsif
match(regex)Natijalar massivini qaytaradi.
matchAll(regex)Natijalar iteratorini qaytaradi.
replace(regex)Yangi satr qaytaradi.
replaceAll(regex)Yangi satr qaytaradi.
search(regex)Birinchi moslik indeksini qaytaradi.
split(regex)Natijalar massivini qaytaradi.

RegExp Metodlari ​

MetodTavsif
regex.exec()Natijalar iteratorini qaytaradi.
regex.test()true yoki false qaytaradi.