ANDIJON DAVLAT UNIVERSITETI SIRTQI BO’LIMI INFORMATIKA O’QITISH
METODIKASI
YO’NALISHI 4-KURS 423- GURUH TALABASI
QAMARDINOV SIROJIDDINNING
INFORMATIKANI O’QITISH TEXNOLOGIYALARI VA LOYIHALASHTIRISH FANIDAN
“PYTHONDA OPERATORLAR VA IFODALAR” 9-
sinf MAVZUSIDA TAQDIMOTI
MUSTAQIL TA’LIM UCHUN
Taqdimot “AQLIY XUJUM’ metoddan foydalanilgan
DOIMIY IFODALAR TARJIMADA SHABLONLI IFODALAR
▶Muntazam ifoda - bu matndagi pastki qatorlar uchun qidiruv naqshini belgilaydigan qator
▶Bitta naqsh turli xil chiziqlarga mos kelishi mumkin
Masalan:
\d har qanday raqamni belgilaydi,
\d+ - bir yoki bir nechta raqamlarning istalgan ketma-ketligiga mos keladi
MUNTAZAM IBORALARDAN FOYDALANISH
▶ qatorda qidirish
▶ satrni pastki qatorlarga bo'lish
▶ satrning bir qismini almashtirish
Misollar
Misol
|
Tavsif
|
Matn
|
Matn to'liq mos keladi.
|
\d{5}
|
5 ta raqamdan iborat ketma- ketlik
\d har qanday raqamni anglatadi
{5} - aynan 5 marta
|
\d\d/\d\d/\ d{4}
|
Sanalar DD/MM/YYYY formatida
|
\b\w{3}\b
|
To'liq uchta harfdan iborat so'zlar
\b so'z chegarasini bildiradi (bir tomonda harf, lekin boshqa tomondan - yo'q)
\w - har qanday harf,
{3} - aniq uch marta
|
[-+]?\d+
|
Butun son, masalan, 7, +17, -
42, 0013 (boshlovchi nol boʻlishi mumkin)
[-+]? - yoki -, yoki +, yoki bo'sh
\d+ - 1 yoki undan ortiq raqamlar ketma-ketligi
|
MISOL
▶Haqiqiy son, ehtimol ilmiy belgi.Masalan
, 0,2, +5,45, -,4, 6e23, -3,17E-14.
MAXSUS BELGILAR
.^$*+?{}[]\|()
▶ \ belgisi qo'yishingiz kerak.
\n satr oxiriga va \t yorliqlarga mos keladi
BITTA BELGIGA MOS KELADIGAN NAQSHLAR
Namuna
|
Tavsif
|
Misol
|
Matnga murojaat qiling
|
.
|
Yangi qatordan tashqari har qanday bitta belgi \n.
|
m.l.ko
|
sut , malako va
sut Ikhleb _
|
\d
|
Har qanday raqam
|
SU\ d\d
|
SU35 , SU11 1, AL SU14
|
\D
|
Raqamdan boshqa har qanday belgi
|
926\D123
|
926)123 , 1
926-123 4
|
\s
|
Har qanday bo'shliq belgisi (bo'sh joy, yorliq, qator oxiri va boshqalar)
|
bor\ s ode
|
bor oda , bor
oda , soqol
|
\S
|
Har qanday bo'sh joy bo'lmagan belgi
|
\S123
|
X123 , i123 ,
!123 456, 1
+ 123456
|
BITTA BELGIGA MOS KELADIGAN NAQSHLAR
Namuna
|
Tavsif
|
Misol
|
Matnga murojaat qiling
|
\w
|
Har qanday harf (so'zning bir qismi bo'lishi mumkin), shuningdek raqamlar va _
|
\w\w\w
|
Yil , f_3 , qwe rt
|
\V
|
Har qanday harfsiz, raqamsiz va pastki chiziqsiz
|
so'm\ V
|
laqqa baliq! , so'm?
|
[...]
|
Qavs ichidagi belgilardan biri, shuningdek, ab diapazonidagi istalgan belgi
|
[0-9][0-9A-
Fa-f]
|
12 , 1F , 4B
|
[^..]
|
Ro'yxatdagilard an boshqa har qanday belgi
|
<[^>]>
|
<1> , ,
<>>
|
MIQDOR KO'RSATKICHLARI (TAKRORLASH SONINI KO'RSATADIGAN)
Namuna
|
Tavsif
|
Misol
|
Matnga murojaat qiling
|
{n}
|
Aynan n ta takrorlash
|
\d{4}
|
1, 12,
123, 1234
, 12345
|
{m, n}
|
m dan n gacha takrorlar
|
\d{2,4}
|
1, 12 , 123
, 1234 ,
12345
|
{m}
|
Kamida m takrorlash
|
\d{3,}
|
1, 12, 123
, 1234 ,
12345
|
{,n}
|
n tadan ortiq takrorlash mumkin emas
|
\d{,2}
|
1 , 12 , 12
3
|
?
|
Nol yoki bitta takrorlanish, {0,1} sinonimi
|
shaftalar?
|
mil , miller , mil ov
|
*
|
Nol yoki undan ortiq, sinonimi {0,}
|
SU\ d*
|
SU , SU1 , SU12 , ...
|
TOPILGAN NAQSHNING MUNTAZAM IFODALARI VA CHEGARALARIDA
▶sukut bo'yicha ochko'zdir , bu yondashuv shablon chegarasi muammosini hal qiladi
▶ \d+ naqsh imkon qadar ko'proq raqamlarni oladi. Shuning uchun, topilgan naqshdan oldin raqam emas, undan keyin raqam yo'qligiga
▶Biroq, agar naqshda ochko'z bo'lmagan qismlar mavjud bo'lsa (masalan, aniq matn), unda pastki qator muvaffaqiyatsiz topilishi mumkin
MISOL
▶SU\d* dan foydalangan holda SU dan keyin raqamlar bilan boshlangan "so'zlarni" topmoqchi bo'lsak , tartibsiz naqshlarni ham topishimiz mumkin:
▶PASU13 SU12 MUVOFIQ ETISH UCHUN.
1-misol
import qayta
match = re.search (r'\d\d\D\d\d', r'Telefon 123-12-12') chop etish (agar mos kelsa, "topilmadi") [0])
23-12
Pozitsiyalarga mos keladigan oddiy naqshlar
▶ Aniqlik uchun biz naqsh izlayotgan qator butun matn deb ataladi .
▶ Butun matnning har bir satri (ya'ni, satr oxiri belgilarisiz har bir maksimal qism) matn qatori deb ataladi .
ASOSIY FUNKTSIYALARI
re.search (naqsh, satr)
|
Tarmoq satrida naqsh naqshiga mos keladigan birinchi qatorni toping;
|
re.fullmatch (naqsh, ip)
|
Satr naqshga mos kelishini tekshiring ;
|
re.split(naqsh, satr, maxsplit=0)
|
str.split () ga o'xshash , faqat bo'linish naqshga mos keladigan pastki qatorlar orqali sodir bo'ladi ;
|
re.findall(naqsh, satr)
|
Satr qatorida barcha kesishmaydigan naqshlarni toping ;
|
re.finditer(naqs h, satr)
|
Satr qatoridagi barcha kesishmaydigan naqsh naqshlari uchun iterator ( mos ob'ektlar qaytariladi);
|
re.sub(naqsh, repl, string, count=0)
|
Satrdagi barcha bir- biriga mos kelmaydigan naqshlarni repl bilan almashtiring ;
|
UYGA VAZIFA
Berilgan matndan “b” yoki “B” bilan boshlangan barcha so‘zlarni toping
elektron pochta manzillaridan foydalanuvchi nomi, domen nomi va qo'shimchasini chiqarib oling
Berilgan qatorni bir nechta ajratuvchilarga ajrating
Gapdagi barcha tinish belgilarini olib tashlang
1>
Do'stlaringiz bilan baham: |