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