Kllapat kaçurrel në shprehjet e rregullta të PHP-së

Operatorët +, *, ? janë të mirë, por, me ndihmën e tyre nuk mund të specifikohet një numër specifik përsëritjesh. Në këtë rast do t'ju vijë në ndihmë operatori {}.

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ë.

Shembull

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

php<?php
  $str = 'xx xax xaax xaaax';
  $res = preg_replace('#xa{1,2}x#', '!', $str);
?>

Si rezultat në variabël do të shkruhet si më poshtë:

php'xx ! ! xaaax'

Shembull

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

php<?php
  $str = 'xx xax xaax xaaax';
  $res = preg_replace('#xa{2,}x#', '!', $str);
?>

Si rezultat në variabël do të shkruhet si më poshtë:

php'xx xax ! !'

Shembull

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

php<?php
  $str = 'xx xax xaax xaaax';
  $res = preg_replace('#xa{3}x#', '!', $str);
?>

Si rezultat në variabël do të shkruhet si më poshtë:

php'xx xax xaax !'

Shembull

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

php<?php
  $str = 'aaa aaaaaaaaaa aaa';
  $res = preg_replace('#a{10}#', '!', $str);
?>

Si rezultat në variabël do të shkruhet si më poshtë:

php'aaa ! aaa'

Shembull

Në këtë shembull autori i kodit deshte një model të tillë: shkronja 'x', shkronja 'a' tre herë ose më pak, shkronja 'x', por, për fat të keq, kështu - {,3} - nuk funksionon. Duhet specifikuar qartë:

php<?php
  $str = 'xx xax xaax xaaax';
  $res = preg_replace('#xa{1,3}x#', '!', $str);
?>

Si rezultat në variabël do të shkruhet si më poshtë:

php'xx ! ! !'

Shembull

Zero është gjithashtu i lejueshëm:

php<?php
  $str = 'xx xax xaax xaaax';
  $res = preg_replace('#xa{0,3}x#', '!', $str);
?>

Si rezultat në variabël do të shkruhet si më poshtë:

php'! ! ! !'

Detyra praktike

Задание 1

Është dhënë një varg:

php<?php
  $str = 'aa aba abba abbba abbbba abbbbba';
?>

Shkruani një shprehje të rregullt, e cila do të gjejë vargjet 'abba', 'abbba', 'abbbba' dhe vetëm ata.

Задание 2

Është dhënë një varg:

php<?php
  $str = 'aa aba abba abbba abbbba abbbbba';
?>

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

Задание 3

Është dhënë një varg:

php<?php
  $str = 'aa aba abba abbba abbbba abbbbba';
?>

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