Kllapat e formatos në shprehjet e rregullta të Python

Operatorët '+', '*', '?' janë të mirë, megjithatë, me ndihmën e tyre nuk mund të specifikohet numri specifik i përsëritjeve. Në këtë rast do t'ju vijë në ndihmë operatori {}.

Ai funksionon si më poshtë: {5} - pesë përsëritje, {2,5} – përsëritet nga dy në pesë (të dyja përfshirë), {2,} - përsëritet dy ose më shumë herë. Shikoni shembujt:

Shembull

Në këtë shembull, modeli i kërkimit duket kështu: shkronjë 'x', shkronjë 'a' një ose dy herë, shkronjë 'x':

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

print(res)

Rezultati i ekzekutimit të kodit:

python'xx ! ! xaaax'

Shembull

Në këtë shembull, modeli i kërkimit duket kështu: shkronjë 'x', shkronjë 'a' dy herë ose më shumë, shkronjë 'x':

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

print(res)

Rezultati i ekzekutimit të kodit:

python'xx xax ! !'

Shembull

Në këtë shembull, modeli i kërkimit duket kështu: shkronjë 'x', shkronjë 'a' tre herë, shkronjë 'x':

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

print(res)

Rezultati i ekzekutimit të kodit:

python'xx xax xaax !'

Shembull

Në këtë shembull, modeli i kërkimit duket kështu: shkronjë 'a' dhjetë herë:

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

print(res)

Rezultati i ekzekutimit të kodit:

python'aaa ! aaa'

Shembull

Në këtë shembull ka një model të tillë: shkronjë 'x', shkronjë 'a' tre herë ose më pak, shkronjë 'x'. Për ta zbatuar atë, përpara numrit 3 nuk është e nevojshme të specifikohet një numër, mund të vendoset thjesht një presje:

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

print(res)

Rezultati i ekzekutimit të kodit:

python'! ! ! !'

Shembull

Zero përpara 3 është gjithashtu e lejueshme:

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

print(res)

Rezultati i ekzekutimit të kodit:

python'! ! ! !'

Detyra praktike

Задание 1

Është dhënë një varg:

pythontxt = 'aa aba abba abbba abbbba abbbbba'

Shkruani një shprehje të rregullt që do të gjejë vargjet 'abba', 'abbba', 'abbbba' dhe vetëm ato.

Задание 2

Është dhënë një varg:

pythontxt = 'aa aba abba abbba abbbba abbbbba'

Shkruani një shprehje të rregullt që do të gjejë vargjet të formës 'aba', në të cilat 'b' shfaqet më pak se 3 herë (përfshirë).

Задание 3

Është dhënë një varg:

pythontxt = 'aa aba abba abbba abbbba abbbbba'

Shkruani një shprehje të rregullt që do të gjejë vargjet të formës 'aba', në të cilat 'b' shfaqet më shumë se 4 herë (përfshirë).