Automatisch testen van regex in PHP
Laten we code schrijven die ons in staat stelt om geschreven regex gemakkelijk te testen op meerdere strings tegelijk.
Stel dat onze regex voor tests wordt opgeslagen in de volgende variabele:
<?php
$reg = '#\d{3,}#';
?>
Laten we een array met strings maken voor controles:
<?php
$arr[] = 'aaa 123 bbb';
$arr[] = 'aaa 12345 bbb';
$arr[] = 'aaa 12x bbb';
$arr[] = 'aaa 12 bbb';
?>
Laten we deze array doorlopen met een lus, waarbij we elk element controleren met onze regex:
<?php
foreach ($arr as $str) {
echo $str . ' ' . preg_match($reg, $str) . '<br>';
}
?>
Laten we alle code samenvoegen en een handige sjabloon krijgen voor het testen van regex:
<?php
$reg = '#\d{3,}#'; // jouw regex
$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>';
}
?>
Stel dat je moet controleren of een string een decimaal getal bevat. Gebruik het voorgestelde script om je regex te testen op verschillende strings.