regular ifodalar

PPT 41 стр. 38,3 МБ Бесплатная загрузка

Предварительный просмотр (5 стр.)

Прокрутите вниз 👇
1 / 41
xml da ishlash regular ifodalar kidt 472-22 guruh talabalari “let’s go django”jamoasi 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. …
2 / 41
ion 3 aabaab aabaab boshqa so’zlar or 4 aa|baab aa baab 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, …
3 / 41
gan belgilar – belgilar guruhi (character groups) deyiladi. 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 …
4 / 41
asalan: from django.urls import re_path from . import 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) …
5 / 41
kwargs=none, name=none) route: so'rov mos kelishi kerak 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 …

Хотите читать дальше?

Скачайте все 41 страниц бесплатно через Telegram.

Скачать полный файл

О "regular ifodalar"

xml da ishlash regular ifodalar kidt 472-22 guruh talabalari “let’s go django”jamoasi 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 kiri...

Этот файл содержит 41 стр. в формате PPT (38,3 МБ). Чтобы скачать "regular ifodalar", нажмите кнопку Telegram слева.

Теги: regular ifodalar PPT 41 стр. Бесплатная загрузка Telegram