Hi everyone! I'm the author of code.mu :)
I'd love to chat with my non-Russian audience. I'm looking for your feedback on the site and the translation quality. Let's chat:)
⊗pyPmREChG 39 of 129 menu

Групе симбола у регуларним изразима Пајтона

Постоје специјалне команде које омогућавају одабир читавих група симбола одједном. Команда \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ščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј