Automatyczne testowanie wyrażeń regularnych w PHP
Napiszmy kod, który pozwoli nam wygodnie testować napisane przez nas wyrażenia regularne od razu na kilku ciągach znaków.
Niech nasze wyrażenie regularne do testów będzie przechowywane w następującej zmiennej:
<?php
$reg = '#\d{3,}#';
?>
Stwórzmy tablicę ciągów znaków do sprawdzeń:
<?php
$arr[] = 'aaa 123 bbb';
$arr[] = 'aaa 12345 bbb';
$arr[] = 'aaa 12x bbb';
$arr[] = 'aaa 12 bbb';
?>
Przejdźmy pętlą przez tę tablicę, sprawdzając każdy element naszym wyrażeniem regularnym:
<?php
foreach ($arr as $str) {
echo $str . ' ' . preg_match($reg, $str) . '<br>';
}
?>
Zbierzmy cały kod razem i otrzymamy wygodny szablon do testowania wyrażeń regularnych:
<?php
$reg = '#\d{3,}#'; // twoje wyrażenie regularne
$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>';
}
?>
Załóżmy, że musisz sprawdzić, czy w ciągu znaków znajduje się liczba zmiennoprzecinkowa. Używając zaproponowanego skryptu, przetestuj swoje wyrażenie regularne na różnych ciągach znaków.