Кадрави загради во регуларните изрази на Python
Операторите '+', '*', '?'
се добри, но, со нивна помош не може да се наведе
конкретен број на повторувања. Во овој случај
на помош ќе ви дојде операторот {}.
Работи на следниов начин: {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-пати (вклучително).