Grupet e karaktereve në shprehjet e rregullta të PHP-së
Grupet e karaktereve \d dhe \w nuk
janë shumë fleksibël. Edhe një detyrë kaq e thjeshtë,
si gjeni të gjitha shkronjat, por jo numrat -
nuk mund të zgjidhet prej tyre. Për detyra të tilla
duhet të përdoren kllapat katrore, të cilat përfaqësojnë
operacionin OSE.
Kllapat katrore zëvendësojnë një karakter,
cilindo nga ata të listuar brenda. Për shembull,
kështu: #x[abc]x# - ne themi se
në anët duhet të jenë shkronjat x, dhe brenda
- një karakter: ose 'a', ose 'b',
ose 'c'.
Pas kllapave katrore mund të shkruhen operatorë
përsëritjeje. Për shembull, kështu: #x[abc]+x#
- ne themi se brenda x-ve mund të ketë
çdo numër karakteresh 'a', 'b'
dhe 'c' - në çdo kombinim.
Mund jo vetëm të listohen karaktere, por të krijohen
grupe karakteresh, duke shkruar ndërmjet dy karaktereve
një vizë. Për shembull, kështu: #[a-d]#
- ne marrim të gjithë karakteret nga 'a' deri
te 'd'.
Le të shohim me shembuj.
Shembull
Në këtë shembull modeli i kërkimit duket kështu:
ndërmjet x-ve çdo shkronjë nga 'a'
deri te 'z':
<?php
$str = 'xax xbx xcx x@x';
$res = preg_replace('#x[a-z]x#', '!', $str);
?>
Si rezultat në variabël do të shkruhet si më poshtë:
'! ! ! x@x'
Shembull
Në këtë shembull modeli i kërkimit duket kështu:
ndërmjet x-ve çdo shkronjë nga 'a'
deri te 'k':
<?php
$str = 'xax xbx xmx x@x';
$res = preg_replace('#x[a-k]x#', '!', $str);
?>
Si rezultat në variabël do të shkruhet si më poshtë:
'! ! xmx x@x'
Shembull
Në këtë shembull modeli i kërkimit duket kështu:
ndërmjet x-ve çdo shkronjë nga 'A'
deri te 'Z':
<?php
$str = 'xax xBx xcx x@x';
$res = preg_replace('#x[A-Z]x#', '!', $str);
?>
Si rezultat në variabël do të shkruhet si më poshtë:
'xax ! xcx x@x'
Shembull
Në këtë shembull modeli i kërkimit duket kështu:
ndërmjet x-ve çdo shifër nga 0 deri te 9:
<?php
$str = 'xax x1x x3x x5x x@x';
$res = preg_replace('#x[0-9]x#', '!', $str);
?>
Si rezultat në variabël do të shkruhet si më poshtë:
'xax ! ! ! x@x'
Shembull
Në këtë shembull modeli i kërkimit duket kështu:
ndërmjet x-ve çdo shifër nga 3-të deri te 7-të:
<?php
$str = 'xax x1x x3x x5x x@x';
$res = preg_replace('#x[3-7]x#', '!', $str);
?>
Si rezultat në variabël do të shkruhet si më poshtë:
'xax x1x ! ! x@x'
Shembull
Në këtë shembull modeli i kërkimit duket kështu:
ndërmjet x-ve çdo shkronjë nga 'a'
deri te 'z' ose shifër nga 1 deri te 9:
<?php
$str = 'xax x1x x3x x5x x@x';
$res = preg_replace('#x[a-z1-9]x#', '!', $str);
?>
Si rezultat në variabël do të shkruhet si më poshtë:
'! ! ! ! x@x'
Shembull
Në këtë shembull modeli i kërkimit duket kështu:
ndërmjet x-ve çdo shkronjë nga 'a'
deri te 'z' ose shkronjë nga 'A' deri
te 'Z':
<?php
$str = 'xax xBx xcx x5x x@x';
$res = preg_replace('#x[a-zA-Z]x#', '!', $str);
?>
Si rezultat në variabël do të shkruhet si më poshtë:
'! ! ! x5x x@x'
Shembull
Në këtë shembull modeli i kërkimit duket kështu:
ndërmjet x-ve çdo shkronjë nga 'a'
deri te 'z' ose shifrat 1, 2:
<?php
$str = 'xax xbx x1x x2x x3x';
$res = preg_replace('#x[a-z12]x#', '!', $str);
?>
Si rezultat në variabël do të shkruhet si më poshtë:
'! ! ! ! x3x'
Shembull
Në këtë shembull modeli i kërkimit duket kështu:
ndërmjet x-ve shkronja nga 'a' deri te 'z'
në sasi nga 1 e lart:
<?php
$str = 'xx xabesx xaadx x123x xa3x';
$res = preg_replace('#x[a-z]+x#', '!', $str);
?>
Si rezultat në variabël do të shkruhet si më poshtë:
'xx ! ! ! x123x xa3x'
Shembull
Le ta bëjmë që numri i shkronjave të mund të jetë edhe zero:
<?php
$str = 'xx xabesx xaadx x123x xa3x';
$res = preg_replace('#x[a-z]*x#', '!', $str);
?>
Si rezultat në variabël do të shkruhet si më poshtë:
'! ! ! x123x xa3x'
Detyra praktike
Është dhënë një varg:
<?php
$str = 'aba aea aca aza axa';
?>
Shkruani një shprehje të rregullt, e cila do të gjejë sipas modelit
vijues: në anët qëndrojnë shkronjat 'a',
dhe ndërmjet tyre - shkronja 'b', 'e'
ose 'x'.
Është dhënë një varg:
<?php
$str = 'a1a a3a a7a a9a aba';
?>
Shkruani një shprehje të rregullt, e cila do të gjejë sipas modelit
vijues: në anët qëndrojnë shkronjat 'a',
dhe ndërmjet tyre - shifër nga 3-të deri te 6-të.
Është dhënë një varg:
<?php
$str = 'aba aea afa aha aga';
?>
Shkruani një shprehje të rregullt, e cila do të gjejë sipas modelit
vijues: në anët qëndrojnë shkronjat 'a',
dhe ndërmjet tyre - shkronjë nga a deri te g.
Është dhënë një varg:
<?php
$str = 'aba aea afa aha aga';
?>
Shkruani një shprehje të rregullt, e cila do të gjejë sipas modelit
vijues: në anët qëndrojnë shkronjat 'a',
dhe ndërmjet tyre - shkronjë nga a deri te f dhe nga j deri te z.
Është dhënë një varg:
<?php
$str = 'aAa aea aEa aJa a3a';
?>
Shkruani një shprehje të rregullt, e cila do të gjejë sipas modelit
vijues: në anët qëndrojnë shkronjat 'a',
dhe ndërmjet tyre - shkronjë nga a deri te f dhe nga A deri te D.
Është dhënë një varg:
<?php
$str = 'aAXa aeffa aGha aza ax23a a3sSa';
?>
Shkruani një shprehje të rregullt, e cila do të gjejë sipas modelit
vijues: në anët qëndrojnë shkronjat 'a',
dhe ndërmjet tyre - shkronjat e vogla latine,
pa prekur të tjerat.
Është dhënë një varg:
<?php
$str = 'aAXa aeffa aGha aza ax23a a3sSa';
?>
Shkruani një shprehje të rregullt, e cila do të gjejë sipas modelit
vijues: në anët qëndrojnë shkronjat 'a',
dhe ndërmjet tyre - shkronjat e vogla dhe të mëdha latine, pa prekur të tjerat.
Është dhënë një varg:
<?php
$str = 'aAXa aeffa aGha aza ax23a a3sSa';
?>
Shkruani një shprehje të rregullt, e cila do të gjejë sipas modelit
vijues: në anët qëndrojnë shkronjat 'a',
dhe ndërmjet tyre - shkronjat e vogla latine
dhe shifra, pa prekur të tjerat.