⊗pyPmREChG 39 of 129 menu

Python'дун регулярдуу туюнтмаларындагы белгилердин топтору

Белгилердин бүтүн топторун дароо тандоого мүмкүндүк берген атайын командалар бар. \d командасы 0дон 9га чейинки санды билдирет. \w командасы санды, латын тамгасын же баса белгисин (_) билдирет. \s командасы бош орун же бош орун белгисин билдирет: бош орун, сапты ачуу, табуляция. Команданын маанисин инверттөөгө болот, чоң тамга менен жазып: мисалы, эгерде \d - сан болсо, анда \D - сан эмес.

Мисал

Келгиле, бардык сандарды табалы:

txt = '1 12 123' res = re.sub('\d', '!', txt) print(res)

Кодду иштетүүнүн натыйжасы:

'! !! !!!'

Мисал

Каайталоо операторлору командалар-топторду бир бүтүн деп эсептейт, башкача айтканда топтоштуруучу кашаалар керек эмес. Төмөнкү мисалда издөө үлгүсү төмөнкүдөй көрүнөт: 0дон 9га чейинки сан бир же бир нече жолу:

txt = '1 12 123 abc @@@' res = re.sub('\d+', '!', txt) print(res)

Кодду иштетүүнүн натыйжасы:

'! ! ! abc @@@'

Мисал

Төмөнкү мисалда издөө үлгүсү төмөнкүдөй көрүнөт: бир же бир нече жолу каалаган нерсе, бирок 0дон 9га чейинки сан эмес:

txt = '123abc3@@' res = re.sub('\D+', '!', txt) print(res)

Кодду иштетүүнүн натыйжасы:

'123!3!'

Мисал

Бул мисалда издөө үлгүсү төмөнкүдөй көрүнөт: бош орун белгиси бир жолу:

txt = '1 12 123 abc @@@' res = re.sub('\s', '!', txt) print(res)

Кодду иштетүүнүн натыйжасы:

'1!12!123!abc!@@@'

Мисал

Бул мисалда издөө үлгүсү төмөнкүдөй көрүнөт: ЭМЕС бош орун белгиси бир же бир нече жолу. Бош орундар менен бөлүнгөн бардык подсаптар '!' менен алмаштырылат:

txt = '1 12 123 abc @@@' res = re.sub('\S+', '!', txt) print(res)

Кодду иштетүүнүн натыйжасы:

'! ! ! ! !'

Мисал

Бул мисалда издөө үлгүсү төмөнкүдөй көрүнөт: сан же тамга бир же бир нече жолу. Сандардан жана тамгалардан турган бардык подсаптар '!' менен алмаштырылат:

txt = '1 12 123a Abc @@@' res = re.sub('\w+', '!', txt) print(res)

Кодду иштетүүнүн натыйжасы:

'! ! ! ! @@@'

Мисал

Бул мисалда издөө үлгүсү төмөнкүдөй көрүнөт: ЭМЕС сан жана ЭМЕС тамга бир же бир нече жолу. Биздин учурда бул аныктамага '@@@' жана бардык бош орундар (алар дагы сандар же тамгалар эмес) туура келет. Аягында бир '!' бар экенине көңүл бургула - ал ' @@@' сапка айланды - алдында бош орун менен:

txt = '1 12 123 Abc @@@' res = re.sub('\W+', '!', txt) print(res)

Кодду иштетүүнүн натыйжасы:

'1!12!123!Abc!'

Практикалык тапшырмалар

Сап берилген:

txt = 'a1a a2a a3a a4a a5a aba aca'

Регулярдуу туюнтма жазыңыз, ал саптарды табат, анын четтеринде 'a' тамгалары турат, алардын ортосунда бир сан.

Сап берилген:

txt = 'a1a a22a a333a a4444a a55555a aba aca'

Регулярдуу туюнтма жазыңыз, ал саптарды табат, анын четтеринде 'a' тамгалары турат, алардын ортосунда канчадыр сандар саны.

Сап берилген:

txt = 'aa a1a a22a a333a a4444a a55555a aba aca'

Регулярдуу туюнтма жазыңыз, ал саптарды табат, анын четтеринде 'a' тамгалары турат, алардын ортосунда канчадыр сандар саны (анын ичинде нөл сан да, башкача айтканда сап 'aa').

Сап берилген:

txt = 'avb a1b a2b a3b a4b a5b abb acb'

Регулярдуу туюнтма жазыңыз, ал төмөнкү түрдөгү саптарды табат: четтеринде 'a' жана 'b' тамгалары турат, алардын ортосунда - сан эмес жана бош орун эмес.

Сап берилген:

txt = 'ave a#b a2b a$b a4b a5b a-b acb'

Регулярдуу туюнтма жазыңыз, ал төмөнкү түрдөгү саптарды табат: четтеринде 'a' жана 'b' тамгалары турат, алардын ортосунда - тамга эмес, сан эмес жана бош орун эмес.

Сап берилген:

txt = 'ave a#a a2a a$a a4a a5a a-a aca'

Регулярдуу туюнтма жазыңыз, ал бардык бош орундарды '!' менен алмаштырат.

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