Automatiseret test af regulære udtryk i PHP
Lad os skrive kode, der giver os mulighed for nemt at teste vores skrevne regulære udtryk med flere strenge på én gang.
Lad vores regulære udtryk til tests være gemt i følgende variabel:
<?php
$reg = '#\d{3,}#';
?>
Lad os lave en række strenge til kontrol:
<?php
$arr[] = 'aaa 123 bbb';
$arr[] = 'aaa 12345 bbb';
$arr[] = 'aaa 12x bbb';
$arr[] = 'aaa 12 bbb';
?>
Lad os gennemgå denne række med en løkke og kontrollere hvert element med vores regulære udtryk:
<?php
foreach ($arr as $str) {
echo $str . ' ' . preg_match($reg, $str) . '<br>';
}
?>
Lad os samle al koden og få en praktisk skabelon til test af regulære udtryk:
<?php
$reg = '#\d{3,}#'; // dit regulære udtryk
$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>';
}
?>
Antag at du skal kontrollere, om en streng indeholder et decimaltal. Brug den foreslåede script, test dit regulære udtryk på forskellige strenge.