Automatické testovanie regulárnych výrazov v PHP
Napíšme kód, ktorý nám umožní pohodlne testovať naše regulárne výrazy na viacerých reťazcoch naraz.
Nech je náš regulárny výraz pre testy uložený v nasledujúcej premennej:
<?php
$reg = '#\d{3,}#';
?>
Vytvorme pole reťazcov pre testovanie:
<?php
$arr[] = 'aaa 123 bbb';
$arr[] = 'aaa 12345 bbb';
$arr[] = 'aaa 12x bbb';
$arr[] = 'aaa 12 bbb';
?>
Prejdime toto pole cyklom a každý prvok otestujme naším regulárnym výrazom:
<?php
foreach ($arr as $str) {
echo $str . ' ' . preg_match($reg, $str) . '<br>';
}
?>
Spojme celý kód dokopy a získajme pohodlnú šablónu pre testovanie regulárnych výrazov:
<?php
$reg = '#\d{3,}#'; // váš regulárny výraz
$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>';
}
?>
Predpokladajme, že potrebujete skontrolovať, či reťazec obsahuje desatinné číslo. Použitím navrhovaného skriptu otestujte váš regulárny výraz na rôznych reťazcoch.