РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗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šuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј