РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗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-ға дейінгі сан bir немесе birнеше рет:

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' әрпі тұрған, ал олардың арасында bir сан болған жолдарды табатын реттік өрнек жазыңыз.

Жол берілген:

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 файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау