• RegEx - ANDOZA YORDAMIDA MATN IZLASH Pythondagi juda foydali modullardan biri bu re
  • Qayta tayyorlash va ularning malakasini oshirishni tashkil etish bosh ilmiy-metodik markazi




    Download 26,13 Mb.
    Pdf ko'rish
    bet584/593
    Sana27.05.2024
    Hajmi26,13 Mb.
    #254636
    1   ...   580   581   582   583   584   585   586   587   ...   593
    Bog'liq
    01 YANGI O‘ZBEKISTON

    pprint
     - CHIROYLI PRINT 
    pprint
    moduli yordamida turli o'zgaruvchilarni chiroyli ko'rinishda 
    konsolga chiqarishimiz mumkin. Bu bizga uzun lug'atlar, JSON fayllar yoki matnlar 
    bilan ishlashda juda asqotadi. 
    Misol uchun, avvalgi darslarimizning birida yaratgan 
    bemor.json
    faylini 
    ochamiz va avval 
    print() 
    keyin 
    pprint()
    yordamida konsolga chiqaramiz. 
    bemor.json 
    190B 
    Code 
    bemor.json fayli 
    from pprint import pprint 
    import json 
    filename = 'bemor.json' 


    89 
    with open(filename) as f: 
    bemor = json.load(f) 
    print(bemor) 
    Natija: 
    {'ism': 'Alijon Valiyev', 'yosh': 30, 'oila': True, 'farzandlar': ['Ahmad', 'Bonu'], 
    'allergiya': None, 'dorilar': [{'nomi': 'Analgin', 'miqdori': 0.5}, {'nomi': 'Panadol', 
    'miqdori': 1.2}]} 
    Navbat pprint() funksiyasiga: 
    pprint(bemor) 
    Natija: 
    {'allergiya': None, 
    'dorilar': [{'miqdori': 0.5, 'nomi': 'Analgin'}, 
    {'miqdori': 1.2, 'nomi': 'Panadol'}], 
    'farzandlar': ['Ahmad', 'Bonu'], 
    'ism': 'Alijon Valiyev', 
    'oila': True, 
    'yosh': 30} 
    RegEx - ANDOZA YORDAMIDA MATN IZLASH 
    Pythondagi juda foydali modullardan biri bu 
    re
    (
    regular expressions

    moduli. Bu modul yordamida biror matn berilgan andozaga tushish, tushmalsigini 
    tekshrib ko'rishimiz mumkin. Yoki berilgan andoza asosida matnlar orasidan kerakli 
    matnlarni ajratib olish mumkin. 
    Keling boshlanishiga sodda misol ko'ramiz. Quyida biz 3 ta so'z va so'zlarni 
    tekshirish uchun andoza yaratdik. Quyidagi andozamiz т harfidan boshlanuvchi 
    (

    ), р harfiga tugovchi (р
    $
    ), 5 harfdan iborat so'zlarni qidiradi (
    ^т...р$
    ).
    Avvaliga andozalarni tushunish biroz qiyin bo'lishi mumkin, lekin vaqt o'tishi 
    bilan andoza qanday ishlashini tushunib olasiz deb umid qilamiz. 
    So'zlarni andozaga solishtirish uchun 
    re.match()
    funksiyasidan 
    foydalanamiz. Agar tekshirgan so'zimiz andozaga mosh tushsa, 
    re.match()
    metodi so'zni o'zini qaytaradi, aks holda 
    None
    qiymatini qaytaradi. 
    import re 
    word1 = "темир" 
    word2 = "томир" 
    word3 = "тулпор" 
    andoza = "^т...р" 
    print(re.match(andoza, word1)) 
    print(re.match(andoza, word2)) 
    print(re.match(andoza, word3)) 
    Natija: 
     
     
    None 


    90 
    Natijadan ko'rishimiz mumkin, 
    word1
    va 
    word2
    o'zgaruvchilari anfozaga 
    tushdi, 
    word3
    esa tushmadi. 
    Keling endi, so'z to'pish o'yinida ishlatilgan soz'lar ro'yxatidan foydalanamiz, 
    va ro'yxatdan biz bergan andozaga tushuvchi so'zlarni ajratib olamiz. 
    from uzwords import words 
    andoza = "^т...р$" 
    matches = [] 
    for word in words: 
    if re.match(andoza,word): 
    matches.append(word) 
    print(matches) 
    Natija:
    ['табар', 'табор', 'тавир', 'тайёр', 'татар', 'татир', 'тахир', 'тақир', 'театр', 
    'тембр', 'темир', 'темур', 'тенор', 'тикер', 'тихир', 'товар', 'товор', 'тожир', 'томир', 
    'тонер', 'тоҳир', 'триер', 'тумор', 'тўпар', 'тўпир'] 
    Andozalar biror matnda biz uchun kerakli maʻlumotlarni ajratib olish uchun 
    juda qulay. Masalan, Telegram orqali yuborilgan habardan email manzilini yoki 
    telefon raqamini ajratib olish uchun maxsus andoza yozishmiz mumkin. 
    ihateregex.io
    sahifasidan esa loyihangiz uchun tayyor andozalarni topishingiz 
    mumkin.
    Keling, yuqoridagi andoza asosida biror matndan email manzilini ajratib 
    olamiz. Buning uchun 
    re.findall()
    funksiyasidan foydalanamiz. 

    Download 26,13 Mb.
    1   ...   580   581   582   583   584   585   586   587   ...   593




    Download 26,13 Mb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Qayta tayyorlash va ularning malakasini oshirishni tashkil etish bosh ilmiy-metodik markazi

    Download 26,13 Mb.
    Pdf ko'rish