Seriya: JavaScript Basics Dars 99

Regex

Regex (Regular Expression) nima, literal va constructor sintaksisi, oddiy belgilar, nuqta (.) va istalgan belgi, * + ? takrorlanish belgilari, [] belgilar to'plami, \d \w \s shortcut'lari, va ^ $ boshlanish/tugash belgilari.

99-dars

Regex

Regex (Regular Expression) — bu matn ichidan naqsh (pattern) bo'yicha qidirish/tekshirish/almashtirish uchun maxsus til. JavaScript'da ikki xil yoziladi:

const regex1 = /pattern/flags;      // literal syntax
const regex2 = new RegExp('pattern', 'flags'); // constructor syntax

Asosiy belgilar (bittalab, misol bilan)

1. Oddiy belgilar — o'zi o'zini bildiradi:

/cat/.test("concatenate"); // true — "cat" so'zi ichida bor

2. . — istalgan bitta belgi (yangi qatordan tashqari):

/c.t/.test("cat");  // true
/c.t/.test("cut");  // true
/c.t/.test("ct");   // false — bitta belgi bo'lishi shart

3. * + ? — takrorlanish:

/ca*t/.test("ct");    // true  — "a" 0 marta (bo'lmasa ham OK)
/ca*t/.test("caaat"); // true  — "a" istalgancha
/ca+t/.test("ct");    // false — "+" kamida 1 marta bo'lishi shart
/ca?t/.test("caat");  // false — "?" 0 yoki 1 marta, ko'p bo'lsa yo'q

4. [] — belgilar to'plami:

/[abc]/.test("apple");   // true — a, b yoki c dan biri bor
/[a-z]/.test("Hello");   // true — kichik harflardan biri bor
/[0-9]/.test("abc123");  // true — raqamlardan biri bor
/[^0-9]/.test("123");    // false — "^" ichkarida = "bundan tashqari"

5. \d \w \s — tayyor shortcut'lar:

\d  →  [0-9]           raqam
\w  →  [a-zA-Z0-9_]    harf/raqam/underscore
\s  →  bo'shliq, tab, yangi qator
\D, \W, \S — bularning teskarisi (YO'Q degani)

6. ^ $ — boshlanish va tugash:

/^Hello/.test("Hello world"); // true — "Hello" bilan boshlanadi
/world$/.test("Hello world"); // true — "world" bilan tugaydi
/^Hello$/.test("Hello");      // true — faqat aynan "Hello"
/^Hello$/.test("Hello world");// false — aynan mos kelmadi