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':
txt = 'xx xax xaax xaaax'
res = re.sub('xa{1,2}x', '!', txt)
print(res)
Rezultati i ekzekutimit të kodit:
'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':
txt = 'xx xax xaax xaaax'
res = re.sub('xa{2,}x', '!', txt)
print(res)
Rezultati i ekzekutimit të kodit:
'xx xax ! !'
Shembull
Në këtë shembull, modeli i kërkimit duket
kështu: shkronjë 'x', shkronjë 'a'
tre herë, shkronjë 'x':
txt = 'xx xax xaax xaaax'
res = re.sub('xa{3}x', '!', txt)
print(res)
Rezultati i ekzekutimit të kodit:
'xx xax xaax !'
Shembull
Në këtë shembull, modeli i kërkimit duket
kështu: shkronjë 'a' dhjetë herë:
txt = 'aaa aaaaaaaaaa aaa'
res = re.sub('a{10}', '!', txt)
print(res)
Rezultati i ekzekutimit të kodit:
'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:
txt = 'xx xax xaax xaaax'
res = re.sub('xa{,3}x', '!', txt)
print(res)
Rezultati i ekzekutimit të kodit:
'! ! ! !'
Shembull
Zero përpara 3 është gjithashtu e lejueshme:
txt = 'xx xax xaax xaaax'
res = re.sub('xa{0,3}x', '!', txt)
print(res)
Rezultati i ekzekutimit të kodit:
'! ! ! !'
Detyra praktike
Është dhënë një varg:
txt = 'aa aba abba abbba abbbba abbbbba'
Shkruani një shprehje të rregullt që do të gjejë vargjet
'abba', 'abbba', 'abbbba'
dhe vetëm ato.
Është dhënë një varg:
txt = '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ë).
Është dhënë një varg:
txt = '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ë).