⊗pyPmRERO 34 of 129 menu

Оператори за повторение на символи в регулярни изрази

Има ситуации, когато трябва да се укаже, че символът се повтаря зададен брой пъти. Ако точният брой повторения не е известен, тогава може просто да се напише няколко пъти - 'aaaa'. Но какво да правим, ако трябва да се каже нещо такова: повтори един или повече пъти?

За това съществуват оператори (квантификатори) за повторение: плюс + (един или повече пъти), звездичка * (нула или повече пъти) и въпрос ? (нула или един път). Тези оператори действат върху символа, който стои пред тях.

Нека разгледаме действието на тези оператори с примери.

Пример

Нека намерим всички поднизове по шаблон буква 'x', буква 'a' един или повече пъти, буква 'x':

txt = 'xx xax xaax xaaax xbx' res = re.sub('xa+x', '!', txt) print(res)

Резултат от изпълнението на кода:

'xx ! ! ! xbx'

Пример

Нека намерим всички поднизове по шаблон буква 'x', буква 'a' нула или повече пъти, буква 'x':

txt = 'xx xax xaax xaaax xbx' res = re.sub('xa*x', '!', txt) print(res)

Резултат от изпълнението на кода:

'! ! ! ! xbx'

Пример

Нека намерим всички поднизове по шаблон буква 'x', буква 'a' нула или един път, буква 'x':

txt = 'xx xax xaax xbx' res = re.sub('xa?x', '!', txt) print(res)

Резултат от изпълнението на кода:

'! ! xaax xbx'

Практически задачи

Даден е низ:

txt = 'aa aba abba abbba abca abea'

Напишете регулярен израз, който ще намери низовете 'aba', 'abba', 'abbba' по шаблон: буква 'a', буква 'b' произволен брой пъти, буква 'a'.

Даден е низ:

txt = 'aa aba abba abbba abca abea'

Напишете регулярен израз, който ще намери низовете 'aa', 'aba', 'abba', 'abbba' по шаблон: буква 'a', буква 'b' произволен брой пъти (включително нула пъти), буква 'a'.

Даден е низ:

txt = 'aa aba abba abbba abca abea'

Напишете регулярен израз, който ще намери низовете 'aa', 'aba' по шаблон: буква 'a', буква 'b' един път или нула пъти, буква 'a'.

Даден е низ:

txt = 'aa aba abba abbba abca abea'

Напишете регулярен израз, който ще намери низовете 'aa', 'aba', 'abba', 'abbba', без да улавя 'abca' и 'abea'.

Български
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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне