regular ifodalar

PPTX 41 pages 38.3 MB Free download

Page preview (5 pages)

Scroll down 👇
1 / 41
xml da ishlash regular ifodalar fan: python advanc 1. regular ifodalarga kirish va ularning django’da qo‘llanilishi --- regular ifodalar (regex) nima va u qanday ishlaydi? --- django’da re moduli bilan ishlash. 5. django shablonlarida regular ifodalardan foydalanish --- {{ text|regex_search:"pattern" }} va boshqa filtrlarni qo‘llash. ---- shablonlarda regex yordami da matnlarni ajratish va almashtirish. 2. django url marshrutlashida regular ifodalar --- path() va re_path() funksiyalarining farqi. ---url yo‘nalishlarini yaratishda regexdan foydalanish. 6. django’da regex orqali maxsus so‘rovlar yaratish --- orm (filter(), exclude(), annotate()) ichida regex ishlatish. ---__regex orqali qidiruvlar bajarish. 3. django’da foydalanuvchi kiritgan ma’lumotlarni tekshirish --- formalar va clean() metodi orqali regexni ishlatish. --validators.regexvalidator bilan maxsus tekshiruv qo‘shish. 7. django view va middleware da regex bilan ishlash --- so‘rovlarni tahlil qilishda regexdan foydalanish. --- xabarlar yoki url parametrlarini regex bilan tekshirish. 4. django model maydonlarida regexdan foydalanish --- charfield uchun validators ishlatish. --- telefon raqamlar, elektron pochta manzillari va …
2 / 41
b boshqa so’zlar closure 2 ab*a aa abbbbbbba ab ababa parenthesis 1 a(a|b)aab aaaab abaab boshqa so’zlar parenthesis 1 (ab)*a a ababababa aa abba concatenation. aniq bir so’zni ifodalaydi. boshqa so’zlar uchrasa mos kelmagan hisoblanadi. or. ishlashi koddagi or operatori bilan bir xil – | belgisi uning ikki tarafidagi shartdan biri mos kelishini tekshiradi. masalan, aa|baab regex uchun aa yoki baab so’zlari mos keladi. closure. * belgisi bilan ifodalanuvchi amal o’zidan avvalgi belgi yoki birikmaning nol yoki istalgan miqdorda kelishini belgilaydi. masalan, ab*a regex’da b yo’q yoki birnecha marta qatnashgan so’zlar mos keladi: aa, aba, abbbba parenthesis. qavslar bilan ifodalanib, ichidagi amalning birinchi bo’lib ishlashini ta’minlaydi (huddi matematika va dasturlashdagi kabi). masalan, (ab)*a regex uchun ab yo’q yoki bir necha marta qatnashgan hamda a bilan tugagan so’zlar mos keladi: aa, aba, abababa. agar qavslar qo’yilmaganda, ya’ni ab*a holatida aa, aba, abbbaa so’zlarini topgan bo’lardi. amallarning bajarilish tartibi – parenthesis (1), …
3 / 41
ladi. bunda ulardan biri uchrasa yetarli bo’ladi. masalan [hc]ello – hello va cello so’zlarini topadi. jello, ello so’zlari mos kelmaydi. negated character groups character groups bilan bir xil va ^ – negativ (inkor qiluvchi) belgi qo’shiladi. bunda to’rtburchak qavs ichida berilgan belgilar yo’q bo’lsa regex mos keladi. masalan, [^hc]ello uchun hello va cello so’zlari topilmaydi, jello so’zi mos keladi. multiple range item matches agar berilgan range ichidan faqat bitta belgini topish kerak bo’lsa ^ va $ belgilaridan foydalaniladi. /^[a-z]$/.test('a') // true /^[a-z]$/.test('ab') // false /^[a-z]$/.test('ab') // false /^[a-z-0-9]$/.test('1') // true /^[a-z-0-9]$/.test('a1') // false meta-characters \d: istalgan raqam uchun, [0-9] bilan teng. \d: istalgan raqam bo’lmagan belgi uchun, [^0-9] bilan teng. \w: istalgan alphanumeric belgi va «_» (underscore) uchun, [a-za-z_0-9] bilan teng. \w: istalgan alphanumeric belgi va «_» (underscore) bo’lmagan holat uchun, [^a-za-z_0-9] bilan teng. \s: probel (whitespace) belgilar uchun: space, tab, yangi qator va unicode space. \s: whitespace bo’lmagan belgilar …
4 / 41
views urlpatterns = [ re_path(r'^blog/(?p \d+)/$', views.blog_detail, name='blog_detail'), ] bu yerda: r'^blog/(?p \d+)/$' → id raqamli (\d+) bo‘lishi kerakligini bildiradi. agar blog/123/ url kelsa, views.blog_detail(request, id=123) chaqiriladi. 2. formalarni tekshirish django'da form validatsiyasida re moduli yordamida foydalanuvchi kiritgan ma'lumotlarni tekshirish mumkin: import re from django.core.exceptions import validationerror def validate_phone(value): pattern = r'^\+998\d{9}$' # o'zbekiston telefon raqami (+998xxxxxxxxx) if not re.match(pattern, value): raise validationerror("telefon raqami +998 bilan boshlanib, jami 13 ta belgi bo‘lishi kerak.") # modelda ishlatish from django.db import models class contact(models.model): phone = models.charfield(max_length=13, validators=[validate_phone]) bu yerda: r'^\+998\d{9}$' → raqam +998 bilan boshlanishi va ortidan 9 ta raqam bo‘lishi kerak. validate_phone → agar raqam formati to‘g‘ri bo‘lmasa, xatolik chiqaradi. 3. matnlarni qayta ishlash django loyihasida foydalanuvchilarning kiritgan ma’lumotlarini tekshirish yoki o‘zgartirish uchun ishlatilishi mumkin: import re text = "mening email manzilim test@example.com va yana biri hello@site.uz" emails = re.findall(r'[a-za-z0-9._%+-]+@[a-za-z0-9.-]+\.[a-za-z]{2,}', text) print(emails) # natija: ['test@example.com', 'hello@site.uz'] bu yerda: re.findall(...) → …
5 / 41
ak bo'lgan url namunasini ifodalaydi view: so'rovni qayta ishlaydigan ko'rish funktsiyasi kwargs: ko'rish funktsiyasiga uzatiladigan qo'shimcha argumentlar name: marshrut nomi yuqoridagi misolda faqat birinchi ikkita parametrdan foydalanilgan, ular talab qilinadi: so'ralgan url va shu manzilda so'rovni bajaradigan funksiya. bundan tashqari, siz uchinchi parametr orqali marshrut nomini belgilashingiz mumkin: bunday holda, marshrut “home" deb nomlanadi. re_path marshrutlarni aniqlash uchun path() funksiyasidan muvaffaqiyatli foydalanishimiz mumkin bo'lsa-da, u o'zining funksionalligi jihatidan ancha cheklangan. so'ralgan yo'l marshrutda ko'rsatilgan url manziliga to'liq mos kelishi kerak. demak, yuqoridagi misolda views.about funksiyasi so‘rovni qayta ishlash uchun manzil aynan “haqida” bo‘lishi kerak. misol uchun, agar oxirida slash belgisini belgilasak: "about/" va django endi so'rov bilan yo'lni moslashtira olmaydi. muqobil sifatida marshrutlarni aniqlash uchun re_path() funksiyasidan foydalanishimiz mumkin, u ham django.urls paketida joylashgan va bir xil parametrlar to‘plamiga ega: uning afzalligi shundaki, u oddiy iboralar yordamida url manzillarini belgilash imkonini beradi. masalan, urls.py faylining ta'rifini quyidagicha o'zgartiramiz: birinchi marshrutdagi …

Want to read more?

Download all 41 pages for free via Telegram.

Download full file

About "regular ifodalar"

xml da ishlash regular ifodalar fan: python advanc 1. regular ifodalarga kirish va ularning django’da qo‘llanilishi --- regular ifodalar (regex) nima va u qanday ishlaydi? --- django’da re moduli bilan ishlash. 5. django shablonlarida regular ifodalardan foydalanish --- {{ text|regex_search:"pattern" }} va boshqa filtrlarni qo‘llash. ---- shablonlarda regex yordami da matnlarni ajratish va almashtirish. 2. django url marshrutlashida regular ifodalar --- path() va re_path() funksiyalarining farqi. ---url yo‘nalishlarini yaratishda regexdan foydalanish. 6. django’da regex orqali maxsus so‘rovlar yaratish --- orm (filter(), exclude(), annotate()) ichida regex ishlatish. ---__regex orqali qidiruvlar bajarish. 3. django’da foydalanuvchi kiritgan ma’lumotlarni tekshirish --- formalar va clean() ...

This file contains 41 pages in PPTX format (38.3 MB). To download "regular ifodalar", click the Telegram button on the left.

Tags: regular ifodalar PPTX 41 pages Free download Telegram