Reja: Kirish. Belgilar asoslari va Stringlarlar


Satrlarni tokenlashtirish


Download 36.9 Kb.
bet7/8
Sana24.12.2022
Hajmi36.9 Kb.
#1062398
1   2   3   4   5   6   7   8
Bog'liq
Dasturlash Referat

Satrlarni tokenlashtirish
Siz jumlani o'qiyotganingizda, ongingiz uni ma'noni bildiruvchi alohida so'zlar va tinish belgilariga bo'linadi. Kompilyatorlar tokenizatsiyani ham amalga oshiradilar. Ular bayonotlarni kalit so'zlar, identifikatorlar, operatorlar va boshqa dasturlash tili elementlari kabi alohida qismlarga ajratadilar. Endi biz String sinfining bo'linish usulini o'rganamiz, bu Stringni komponent tokenlariga ajratadi. Tokenlar birbiridan cheklovchilar bilan ajratiladi, odatda bo'sh joy, tab, yangi qator va karetani qaytarish kabi bo'sh joy belgilarini o’rganamiz.
Muntazam ifodalar, klass namunasi va Klass moslamasi.
Muntazam ifoda boshqa satrlardagi mos belgilar uchun qidiruv naqshini tavsiflovchi Stringdir . Bunday iboralar kiritilgan ma'lumotlarni tekshirish va ma'lumotlarning ma'lum bir formatda bo'lishini ta'minlash uchun foydalidir. Masalan, pochta indeksi beshta raqamdan iborat bo'lishi kerak, familiyada esa faqat harflar, bo'shliqlar, apostroflar va defislar bo'lishi kerak. Muntazam ifodalarni qo'llashdan biri kompilyatorni qurishni osonlashtirishdir. Ko'pincha dasturning sintaksisini tekshirish uchun katta va murakkab muntazam ifoda ishlatiladi. Agar dastur kodi oddiy ifodaga mos kelmasa, kompilyator kodda sintaksis xatosi borligini biladi. Klass String muntazam ifoda operatsiyalarini bajarish uchun bir nechta usullarni taqdim etadi, ulardan eng oddiyi mos keladigan operatsiyadir. String usuli moslamalari muntazam ifodani belgilaydigan va u muntazam ifodaga chaqirilgan String obyektining mazmuniga mos keladigan Stringni oladi. Usul o'yin muvaffaqiyatli bo'lganligini ko'rsatuvchi mantiqiy qiymatni qaytaradi. Muntazam ibora harfiy belgilar va maxsus belgilardan iborat. Muntazam iboralar bilan ishlatilishi mumkin bo'lgan ba'zi oldindan belgilangan belgilar sinflari ko'rsatilgan. Belgilar klassi - bu belgilar guruhini ifodalovchi qochish ketma-ketligi. Raqam har qanday raqamli belgidir. So'z belgisi har qanday harf (katta yoki kichik), har qanday raqam yoki pastki chiziq belgisidir. Bo'sh joy belgisi - bu bo'sh joy, yorliq, karetaning qaytishi, yangi qator yoki shakl tasmasi. Har bir belgi sinfi biz muntazam ifoda bilan mos kelmoqchi bo'lgan Stringdagi bitta belgiga mos keladi. Muntazam ifodalar bu oldindan belgilangan belgilar klasslari bilan cheklanmaydi. Ifodalar murakkab naqshlarga mos kelish uchun turli operatorlar va boshqa belgilar shakllaridan foydalanadi.
Miqdor ko'rsatkichlarining barchasi ochko'zdir. Bu shuni anglatadiki, agar o'yin hali ham muvaffaqiyatli bo'lsa, ular imkon qadar ko'p hodisalarga mos keladi. Biroq, agar bu miqdor ko'rsatkichlaridan biri bo'lsaso‘roq belgisi (?) qo‘yilgan bo‘lsa, miqdor ko‘rsatkichi istaksiz bo‘ladi (ba’zan dangasa deb ataladi). Pochta indeksi raqamga besh marta mos keladi. Bu muntazam ifoda raqamli belgilar klassidan va qavslar orasidagi 5 raqamiga ega kvantatordan foydalanadi. Telefon raqami uchta raqamga mos keladi (birinchi raqam nol bo'lishi mumkin emas), undan keyin tire, keyin yana uchta raqam (yana birinchisi nolga teng bo'lishi mumkin emas), keyin yana to'rtta raqam. String usuli mosliklari butun Stringning muntazam ifodaga mos kelishini tekshiradi . Misol uchun, biz "Smit" ni familiya sifatida qabul qilmoqchimiz, lekin "9@Smith#" emas. Agar oddiy iboraga faqat pastki qator mos kelsa, mos keladigan usul noto'g'ri ma'lumotni qaytaradi .
Agar oddiy iboraga faqat pastki qator mos kelsa, mos keladigan usul noto'g'ri ma'lumotni qaytaradi .Pastki satrlarni almashtirish va satrlarni ajratish Ba'zan satr qismlarini almashtirish yoki satrni bo'laklarga bo'lish foydali bo'ladi. Shu maqsadda String klassi replaceAll, replaceFirst va split usullarini taqdim etadi . O'yin muvaffaqiyatli davom etar ekan, u imkon qadar kamroq holatlarga mos keladi.

Download 36.9 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling