JS RegExp bayroqlari

ULASHISH

RegExp modifikator bayroqlari

Bayroqlar regex naqshini qanday ishlatilishini o‘zgartirishi mumkin bo‘lgan parametrlardir, masalan, uni katta-kichik harflarga sezgir emas yoki global qilish.

/pattern/flags

JavaScript Regex bayroqlari

2025 yil iyul oyida qayta ko‘rib chiqilgan

Flag Tavsif
/d Performs substring matches (new 2022)
/g Global moslikni bajaradi (barchasini topadi)
/i Performs case-insensitive matching
/m Performs multiline matching
/s . (nuqta) belgisining qator tugash belgilariga ham mos kelishiga ruxsat beradi (2018-yilda yangi)
/u Enables Unicode support (new 2015)
/v Unicode’ni yaxshiroq qo‘llab-quvvatlash uchun /u bayrog‘ining takomillashtirilgan varianti (2025-yilda yangi)
/y "Yopishqoq" (sticky) qidiruvni bajaradi (2015-yilda yangi)

Bayroq sintaksisi: /pattern/flags

/Muntazam ifodaning ochuvchi ajratuvchisi
patternMuntazam ifoda (qidiruv mezoni)
/Muntazam ifodaning yopuvchi ajratuvchisi
flagsBir yoki bir nechta modifikator bayroqlari

RegExp /g bayrog‘i (global)

/g bayrog‘i birinchisiga emas, balki naqshning barcha holatlariga mos keladi.

Misol

Stringda "is" uchun global qidiruv:

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

let result = text.match(pattern);

O‘zingiz sinab ko‘ring »


RegExp /i bayrog‘i (registrga befarq)

/i bayrog‘i moslikni katta-kichik harflarga befarq qiladi: /abc/i "abc", "AbC", "ABC" ga mos keladi.

Misol

Stringda "w3schools" uchun katta-kichik harflarni hisobga olmaydigan qidiruv:

let text = "Visit W3Schools";
const pattern = /is/g;

let result = text.match(pattern);

O‘zingiz sinab ko‘ring »


RegExp /d bayrog‘i

/d bayrog‘i (Indices bayrog‘i) muntazam ifoda guruhlari ushlagan qism stringlarning boshlanish va tugash pozitsiyalarini topish uchun ishlatiladi.

Bu regex mosligini o‘zgartirmaydi. Natija haqida metadata beradi.

exec() yoki match() tomonidan qaytarilgan massiv qo‘shimcha indekslar xususiyatini o‘z ichiga oladi: Muayyan tortishish guruhining [start, end] indeksini ifodalovchi juftliklar massivi.

Misol

aa yoki bb bilan boshlanadigan yoki tugaydigan har bir pastki matnni moslang:

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

let result = text.match(pattern);
let indexes = result.indices;
O‘zingiz sinab ko‘ring »

HasIndices xususiyatidan foydalanib, regexda /d bayrog‘i borligini tekshirishingiz mumkin.


RegExp /s bayrog‘i (bir qatorli/DotAll)

/s bayrog‘i . (nuqta) metabelgi boshqa har qanday belgidan tashqari yangi qator belgilariga (\n) mos keladi.

Misol

/s bayrog‘isiz \n . (istalgan belgi) ga mos kelmaydi:

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

let result = text.match(pattern);
O‘zingiz sinab ko‘ring »

RegExp /m bayrog‘i (ko‘p qatorli)

/m (ko‘p qatorli) bayrog‘i ko‘p qatorli moslikni belgilaydi.

Misol

Stringdagi har bir qator boshida "is" uchun ko‘p qatorli qidiruvni bajaring:

let text = `Is this
all there
is`

let pattern = /^is/m;
O‘zingiz sinab ko‘ring »

/m bayrog‘i ^ va $ ning harakatiga ta’sir qiladi.

^ string boshida moslikni belgilaydi.

$ string oxiridagi moslikni belgilaydi.

/m o‘rnatilganda ^ va $ butun stringning boshi va oxiridan tashqari, ko‘p qatorli stringdagi har bir qatorning boshi va oxiriga ham mos keladi.


RegExp /y bayrog‘i (sticky):

/y bayrog‘i RegExp obyektining lastIndex xususiyatidan "yopishqoq" qidiruvni amalga oshiradi.

/y bayrog‘i o‘yinni oxirgi o‘yin tugagan joyda boshlash imkonini beradi.

Misollar

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

// Start match from position 4
pattern.lastIndex = 4;
let result = text.match(pattern);
O‘zingiz sinab ko‘ring »

/y bayrog‘i pozitsiyadan mos kelishiga ruxsat berish uchun o‘rnatilishi kerak.

Bu ishlamaydi:

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

// Start match from position 4
pattern.lastIndex = 4;
let result = text.match(pattern);
O‘zingiz sinab ko‘ring »

Yuqoridagi misolda \w regex metabelgisi ishlatilgan

/\w/ ning ma’nosi "(alfanumerik) so‘z belgisini moslashtirish".

/\w+/ ma’nosi “bir yoki bir nechta so‘z belgilarini moslashtirish”dir.

Keyingi boblarda metabelgilar haqida ko‘proq bilib olasiz.



RegExp /u bayrog‘i (Unicode)

/u bayrog‘i muntazam ifodada to‘liq Unicode qo‘llab-quvvatlash imkonini beradi.

Odatiy bo‘lib, JavaScript RegExp 4 baytli Unicode belgilarini (masalan, kulgichlar yoki kamroq tarqalgan belgilar) ikkita alohida 2 baytli "surrogat" kod birligi sifatida ko‘radi.

/u bayrog‘i shablonni Unicode kod nuqtalari ketma-ketligi sifatida ko‘radi, bu Asosiy ko‘p tilli tekislik (BMP) dan tashqaridagi belgilarni to‘g‘ri qayta ishlash uchun muhim.

Misol

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

// Returns true:
let result = pattern.test(text);
O‘zingiz sinab ko‘ring »

/u bayrog‘isiz oddiy iboralar "Unicode-aware" emas.

Misol

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

// Returns false:
let result = pattern.test(text);
O‘zingiz sinab ko‘ring »

JavaScript 2025 /u bayrog‘ini "yangilash" sifatida /v bayrog‘ini taqdim etdi.

/v bayrog‘i Unicode bilan bog‘liq qo‘shimcha imkoniyatlarni yoqadi.


RegExp /v bayrog‘i (Unicode to‘plamlari)

/v bayrog‘i Unicode-ni yaxshiroq qo‘llab-quvvatlash uchun /u bayrog‘iga yangilanishdir.

U Unicode bilan bog‘liq qo‘shimcha imkoniyatlarni yoqadi.

Yangi imkoniyatlar:

  • \p ekranlash ketma-ketligi faqat belgilarga emas, stringlarga ham mos keladi.
  • Belgilar sinfi kesishish, birlashtirish va ayirish sintaksiklariga, shuningdek, bir nechta Unicode belgilariga mos kelishiga ruxsat berish uchun yangilanadi.

Misol

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

// Returns true:
let result = pattern.test(text);
O‘zingiz sinab ko‘ring »

/v bayrog‘isiz muntazam iboralar "Unicode-aware" emas.

Misol

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

// Returns false:
let result = pattern.test(text);
O‘zingiz sinab ko‘ring »

RegExp guruh modifikatorlari (?flag)

(?bayroq) sintaksisi guruh o‘zgartiruvchisi (inline bayroq o‘zgartiruvchisi).

U bayroqlarni butun naqshga emas, balki naqshning bir qismiga o‘zgartirish imkonini beradi.

(?flags:pattern) bayroqlarni faqat guruhdagi naqsh uchun yoqadi.

Misol

i bayrog‘i faqat naqshning W3Schools qismi uchun yoqilgan.

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

// Returns true:
let result = pattern.test(text);
O‘zingiz sinab ko‘ring »

i bayrog‘i faqat naqshning W3Schools qismi uchun yoqilgan.

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

// Returns false:
let result = pattern.test(text);
O‘zingiz sinab ko‘ring »

JavaScript Regex bayroq xususiyatlari

2025 yil iyul oyida qayta ko‘rib chiqilgan

Xususiyat Tavsif
global /g bayrog‘i o‘rnatilgan bo‘lsa, true qaytaradi
hasIndices /d bayrog‘i o‘rnatilgan bo‘lsa, true qaytaradi
ignoreCase /i bayrog‘i o‘rnatilgan bo‘lsa, true qaytaradi
multiline /m bayrog‘i o‘rnatilgan bo‘lsa, true qaytaradi
dotAll Agar /s bayrog‘i o‘rnatilgan bo‘lsa, true qaytaradi
sticky Agar /y bayrog‘i o‘rnatilgan bo‘lsa, true qaytaradi
unicode Agar /u bayrog‘i o‘rnatilgan bo‘lsa, true qaytaradi
unicodeSets /v bayrog‘i o‘rnatilgan bo‘lsa, true qaytaradi

dotAll xususiyati

dotAll xususiyati trueni qaytaradi /s bayrog‘i o‘rnatilgan bo‘lsa.

Misol

const pattern = /W3Schools/s;

let result = pattern.dotAll;
O‘zingiz sinab ko‘ring »

global xususiyati

global xususiyati trueni qaytaradi /g bayrog‘i o‘rnatilgan bo‘lsa.

Misol

const pattern = /W3Schools/g;

let result = pattern.global;
O‘zingiz sinab ko‘ring »

hasIndices xususiyati

hasIndices xususiyati trueni qaytaradi agar /d bayrog‘i o‘rnatilgan bo‘lsa.

Misol

const pattern = /W3Schools/d;

let result = pattern.hasIndices;
O‘zingiz sinab ko‘ring »

ignoreCase xususiyati

ignoreCase xususiyati trueni qaytaradi /i bayrog‘i o‘rnatilgan bo‘lsa.

Misol

const pattern = /W3Schools/i;

let result = pattern.ignoreCase;
O‘zingiz sinab ko‘ring »

Ko‘p qatorli xususiyat

multiline xususiyati trueni qaytaradi /m bayrog‘i o‘rnatilgan bo‘lsa.

Misol

const pattern = /W3Schools/m;

let result = pattern.multiline;
O‘zingiz sinab ko‘ring »

sticky xususiyati

sticky xususiyati trueni qaytaradi /y bayrog‘i o‘rnatilgan bo‘lsa.

Misol

const pattern = /W3Schools/y;

let result = pattern.sticky;
O‘zingiz sinab ko‘ring »

unicode xususiyati

unicode xususiyati trueni qaytaradi agar /u bayrog‘i o‘rnatilgan bo‘lsa.

Misol

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

let result = pattern.unicode;
O‘zingiz sinab ko‘ring »

unicodeSets xususiyati

unicodeSets xususiyati trueni qaytaradi agar /v bayrog‘i o‘rnatilgan bo‘lsa.

Misol

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

let result = pattern.unicodeSets;
O‘zingiz sinab ko‘ring »

Muntazam ifoda metodlari

Muntazam ifodalarni qidirish va almashtirish turli usullar bilan amalga oshirilishi mumkin.

Quyidagilar eng ko‘p tarqalganlaridir:

String metodlari

MetodTavsif
moslik (regex) Natijalar massivini qaytaradi
matchAll(regex) Natijalarning iteratorini qaytaradi
almashtirish (regex) Yangi Stringni qaytaradi
replaceAll(regex) Yangi Stringni qaytaradi
qidiruv (regex) Birinchi moslik indeksini qaytaradi
split(regex) Natijalar massivini qaytaradi

RegExp metodlari

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


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!