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:
| Flag | Tavsif |
|---|---|
/d | Pastki satr mosliklarini aniqlaydi (2022 yangilik). |
/g | Global qidiruv (barcha mosliklarni topadi). |
/i | Katta-kichik harfga befarq qidiruv. |
/m | Ko'p qatorli moslik. |
/s | . (nuqta) yangi qator belgilariga ham mos keladi (2018 yangilik). |
/u | Unicode qo'llab-quvvatlashni yoqadi (2015 yangilik). |
/v | Kengaytirilgan 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:
| Sinf | Tavsif |
|---|---|
[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:
| Meta | Tavsif |
|---|---|
a|b | a yoki b ga mos keladi. |
. | Yangi qator tashqari istalgan belgiga mos keladi (wildcard). |
\w | So'z belgilariga (a-z, A-Z, 0-9, _) mos keladi. |
\W | So'z belgisi bo'lmagan belgilarga mos keladi. |
\d | Raqamlarga (0-9) mos keladi. |
\D | Raqam bo'lmagan belgilarga mos keladi. |
\s | Bo'sh joy belgilariga (space, tab, newline) mos keladi. |
\S | Bo'sh joy bo'lmagan belgilarga mos keladi. |
[\b] | Backspace belgilariga mos keladi. |
\0 | NULL belgilarga mos keladi. |
\n | Yangi qator belgilariga mos keladi. |
\f | Form feed belgilariga mos keladi. |
\r | Karetka qaytarish belgilariga mos keladi. |
\t | Tab belgilariga mos keladi. |
\v | Vertikal 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). |
\ddd | Sakkizlik raqam ddd bilan belgilarga mos keladi. |
\xhh | O'n oltilik raqam hh bilan belgilarga mos keladi. |
\uhhhh | Unicode 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.
| Belgi | Tavsif |
|---|---|
^ | Matn (yoki qator) boshiga mos keladi (m flagi bilan — qator boshiga). |
$ | Matn (yoki qator) oxiriga mos keladi (m flagi bilan — qator oxiriga). |
\b | So'z boshi yoki oxiriga mos keladi. |
\B | So'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:
| Kod | Tavsif |
|---|---|
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. |
