⊗pyPmRECB 37 of 129 menu

Curly braces in Python regular expressions

Операторите '+', '*', '?' са добри, но с тяхна помощ не може да се укаже точно число на повторения. В този случай на помощ идва операторът {}.

Работи по следния начин: {5} - пет повторения, {2,5} – повтаря се от две до пет (и двете включително), {2,} - повтаря се два и повече пъти. Вижте примерите:

Пример

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

txt = 'xx xax xaax xaaax' res = re.sub('xa{1,2}x', '!', txt) print(res)

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

'xx ! ! xaaax'

Пример

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

txt = 'xx xax xaax xaaax' res = re.sub('xa{2,}x', '!', txt) print(res)

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

'xx xax ! !'

Пример

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

txt = 'xx xax xaax xaaax' res = re.sub('xa{3}x', '!', txt) print(res)

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

'xx xax xaax !'

Пример

В този пример шаблонът за търсене изглежда така: буква 'a' десет пъти:

txt = 'aaa aaaaaaaaaa aaa' res = re.sub('a{10}', '!', txt) print(res)

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

'aaa ! aaa'

Пример

В този пример има такъв шаблон: буква 'x', буква 'a' три пъти пъти и по-малко, буква 'x'. За да го реализирате, пред цифрата 3 може да не се посочва число, а да се сложи просто запетая:

txt = 'xx xax xaax xaaax' res = re.sub('xa{,3}x', '!', txt) print(res)

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

'! ! ! !'

Пример

Нула пред 3 също е допустимо:

txt = 'xx xax xaax xaaax' res = re.sub('xa{0,3}x', '!', txt) print(res)

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

'! ! ! !'

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

Даден е низ:

txt = 'aa aba abba abbba abbbba abbbbba'

Напишете регулярен израз, който ще намери низовете 'abba', 'abbba', 'abbbba' и само тях.

Даден е низ:

txt = 'aa aba abba abbba abbbba abbbbba'

Напишете регулярен израз, който ще намери низовете от вида 'aba', в които 'b' се среща по-малко от 3 пъти (включително).

Даден е низ:

txt = 'aa aba abba abbba abbbba abbbbba'

Напишете регулярен израз, който ще намери низовете от вида 'aba', в които 'b' се среща повече от 4 пъти (включително).

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