⊗pyPmREInr 33 of 129 menu

Pythonда регулярный ифодаларга кириш

Регулярный ифодалар - бу мураккаб излаш ва алмаштириш (ёки жуда оддий излаш) учун буйруқлардир. Улар жуда кизиқ ишларни бажаришга имкон беради, лекин, афсуски, ўзлаштиришда анча қийин.

Pythonда регулярный ифодалар билан ишлашни бошлаш учун биз алохида re модулини импорт қилишимиз керак:

import re

re модули регулярный ифодалар билан ишлаш учун мўлжалланган методларни ўз ичига олади. Регулярный ифода буйруқлар тўплами бўлиб, икки турдаги белгилардан ташкил топган: ўзини ўзи ифодаловчилар ва махсус белгилар деб айтилувчи буйруқ белгиларидан.

Регулярный ифодалар билан танишишни sub метолида мисол келтириб бошлаш яхши, у сатрдаги алмаштиришлар учун ишлатилади. Метод биринчи параметр сифатида нимани алмаштириш кераклигини, иккинчиси - нимага алмаштириш кераклигини қабул қилади. Учинчи параметрда алмаштириш амалга оширилиши керак бўлган сатрни кўрсатамиз. Тўртинчи ихтиёрий параметрда алмаштиришлар сонини белгилаймиз. Ушбу метод ёрдамидаги энг содда алмаштириш мана бундай кўринади:

res = re.sub('a', '!', 'bab') print(res) # натижа 'b!b'

Сиз ўзингиз сезганингиздек, регулярный ифодада ҳарфлар ўзини ўзи ифодалайди. Рақамларга ҳам шунисбат қўлланилади. Келинг 2 рақамини ! га алмаштирайлик:

res = re.sub('2', '!', '12abc3') print(res) # натижа '1!abc3'

Амму нуқта махсус белги бўлиб, исталган белги ни ифодалайди. Келаси мисолда келинг шундай намуна бўйича сатрни топийлик: 'x' ҳарфи, сўнгра исталган белги, сўнгра яна 'x' ҳарфи:

res = re.sub('x.x', '!', 'xax eee') print(res) # натижа '! eee'

Берилган сатр:

txt = 'ahb acb aeb aeeb adcb axeb'

'a' ҳарфи, исталган белги, 'b' ҳарфи намунаси бўйича 'ahb', 'acb', 'aeb' сатрларини топадиган регулярный ифодани ёзинг.

Берилган сатр:

txt = 'aba aca aea abba adca abea'

'a' ҳарфи, 2 та исталган белги, 'a' ҳарфи намунаси бўйича 'abba', 'adca', 'abea' сатрларини топадиган регулярный ифодани ёзинг.

Берилган сатр:

txt = 'aba aca aea abba adca abea'

'adca' ни олмаган ҳолда, 'abba' ва 'abea' сатрларини топадиган регулярный ифодани ёзинг.

Ўзбек
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш