Testarea automată a expresiilor regulate în PHP
Să scriem un cod care ne va permite să testăm în mod convenabil expresiile regulate scrise de noi imediat pe mai multe șiruri.
Să presupunem că expresia noastră regulată pentru teste este stocată în următoarea variabilă:
<?php
$reg = '#\d{3,}#';
?>
Să creăm un array de șiruri pentru verificări:
<?php
$arr[] = 'aaa 123 bbb';
$arr[] = 'aaa 12345 bbb';
$arr[] = 'aaa 12x bbb';
$arr[] = 'aaa 12 bbb';
?>
Să parcurgem acest array cu un ciclu, verificând fiecare element cu expresia noastră regulată:
<?php
foreach ($arr as $str) {
echo $str . ' ' . preg_match($reg, $str) . '<br>';
}
?>
Să adunăm tot codul împreună și să obținem un șablon convenabil pentru testarea expresiilor regulate:
<?php
$reg = '#\d{3,}#'; // expresia ta regulată
$arr[] = 'aaa 123 bbb'; // 1
$arr[] = 'aaa 12345 bbb'; // 1
$arr[] = 'aaa 12x bbb'; // 0
$arr[] = 'aaa 12 bbb'; // 0
foreach ($arr as $str) {
echo $str . ' ' . preg_match($reg, $str) . '<br>';
}
?>
Să presupunem că trebuie să verificați dacă într-un șir există un număr fracționar. Folosind scriptul propus, testați expresia voastră regulată pe diverse șiruri.