Skip to content

JavaScript RegExp Shablonlari (Patterns)

RegExp shablonlari — bu flaglar, belgilar sinflari, metabelgilar, tasdiqlar va kvantifikatorlarning to'liq ma'lumotnomasi.


Flaglar

Flaglar shablonning ishlash rejimini o'zgartiradi:

FlagTavsif
/dPastki satr mosliklarini aniqlaydi (2022 yangilik).
/gGlobal qidiruv (barcha mosliklarni topadi).
/iKatta-kichik harfga befarq qidiruv.
/mKo'p qatorli moslik.
/s. (nuqta) yangi qator belgilariga ham mos keladi (2018 yangilik).
/uUnicode qo'llab-quvvatlashni yoqadi (2015 yangilik).
/vKengaytirilgan Unicode qo'llab-quvvatlash (2025 yangilik).
/y"Yopishqoq" (sticky) qidiruv (2015 yangilik).

Belgilar Sinflari

Belgilar sinfi — bu kvadrat qavslar [ ] ichiga olingan bir yoki bir necha belgi:

SinfTavsif
[a]Qavslar ichidagi belgiga mos keladi.
[^a]Qavslar ichida bo'lmagan belgilarga mos keladi.
[abc]Qavslar ichidagi barcha belgilardan biriga mos keladi.
[^abc]Qavslar ichida bo'lmagan belgilarga mos keladi.
[a-z]a dan z gacha oraliqqa mos keladi.
[^a-z]a dan z gacha oraliqda bo'lmagan belgilarga mos keladi.
[0-9]0 dan 9 gacha oraliqqa mos keladi.
[^0-9]0 dan 9 gacha oraliqda bo'lmagan belgilarga mos keladi.

Metabelgilar

Metabelgilar — maxsus ma'noga ega belgilar:

MetaTavsif
a|ba yoki b ga mos keladi.
.Yangi qator tashqari istalgan belgiga mos keladi (wildcard).
\wSo'z belgilariga (a-z, A-Z, 0-9, _) mos keladi.
\WSo'z belgisi bo'lmagan belgilarga mos keladi.
\dRaqamlarga (0-9) mos keladi.
\DRaqam bo'lmagan belgilarga mos keladi.
\sBo'sh joy belgilariga (space, tab, newline) mos keladi.
\SBo'sh joy bo'lmagan belgilarga mos keladi.
[\b]Backspace belgilariga mos keladi.
\0NULL belgilarga mos keladi.
\nYangi qator belgilariga mos keladi.
\fForm feed belgilariga mos keladi.
\rKaretka qaytarish belgilariga mos keladi.
\tTab belgilariga mos keladi.
\vVertikal tab belgilariga mos keladi.
\p{}Berilgan Unicode xususiyatiga ega belgilarga mos keladi (2018 yangilik).
\P{}Berilgan Unicode xususiyatiga ega bo'lmagan belgilarga mos keladi (2018 yangilik).
\dddSakkizlik raqam ddd bilan belgilarga mos keladi.
\xhhO'n oltilik raqam hh bilan belgilarga mos keladi.
\uhhhhUnicode o'n oltilik raqam hhhh bilan belgilarga mos keladi.

Tasdiqlar (Assertions)

Tasdiqlar chegaralar va ko'rib chiqishlardan iborat. Chegaralar qator yoki so'z boshi/oxirida moslik tekshiradi, ko'rib chiqishlar esa oldingi yoki keyingi shablonlarni tekshiradi.

BelgiTavsif
^Matn (yoki qator) boshiga mos keladi (m flagi bilan — qator boshiga).
$Matn (yoki qator) oxiriga mos keladi (m flagi bilan — qator oxiriga).
\bSo'z boshi yoki oxiriga mos keladi.
\BSo'z boshi yoki oxiriga mos kelmaydigan joyga mos keladi.
(?=...)Keyingi matnga mos keladi (Lookahead).
(?!...)Keyingi matnga mos kelmasa moslik beradi (Salbiy Lookahead).
(?<=...)Oldingi matnga mos keladi (Lookbehind, 2018 yangilik).
(?<!...)Oldingi matnga mos kelmasa moslik beradi (Salbiy Lookbehind, 2018 yangilik).

Kvantifikatorlar

Kvantifikatorlar — nechta belgi yoki ifodaga mos kelish kerakligini belgilaydi:

KodTavsif
x+Kamida bitta x ga mos keladi.
x*x ning nol yoki undan ko'p marta takrorlanishiga mos keladi.
x?x ning nol yoki bir marta takrorlanishiga mos keladi.
x{n}x ning aniq n marta takrorlanishiga mos keladi.
x{n,m}x ning n dan m gacha takrorlanishiga mos keladi.
x{n,}x ning n yoki undan ko'p marta takrorlanishiga mos keladi.