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