Автоматично тестване на регекси в PHP
Нека напишем код, който ще ни позволи удобно да тестваме написаните от нас регекси веднага на няколко реда.
Нека нашият регекс за тестове се съхранява в следната променлива:
<?php
$reg = '#\d{3,}#';
?>
Нека направим масив от низове за проверки:
<?php
$arr[] = 'aaa 123 bbb';
$arr[] = 'aaa 12345 bbb';
$arr[] = 'aaa 12x bbb';
$arr[] = 'aaa 12 bbb';
?>
Нека обходим този масив с цикъл, проверявайки всеки елемент с нашия регекс:
<?php
foreach ($arr as $str) {
echo $str . ' ' . preg_match($reg, $str) . '<br>';
}
?>
Нека съберем целия код заедно и получим удобна шаблон за тестване на регекси:
<?php
$reg = '#\d{3,}#'; // вашият регекс
$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>';
}
?>
Да приемем, че трябва да проверите дали в низ има дробно число. Използвайки предложения скрипт, тествайте вашия регекс на различни низове.