Αυτοματοποιημένη Δοκιμή Κανονικών Εκφράσεων σε PHP

Ας γράψουμε κώδικα που θα μας επιτρέπει να δοκιμάζουμε εύκολα τις κανονικές εκφράσεις που γράφουμε αμέσως σε πολλαπλές γραμμές.

Ας υποθέσουμε ότι η κανονική μας έκφραση για τις δοκιμές αποθηκεύεται στην ακόλουθη μεταβλητή:

php<?php
  $reg = '#\d{3,}#';
?>

Ας δημιουργήσουμε έναν πίνακα με strings για δοκιμές:

php<?php
  $arr[] = 'aaa 123 bbb';
  $arr[] = 'aaa 12345 bbb';
  $arr[] = 'aaa 12x bbb';
  $arr[] = 'aaa 12 bbb';
?>

Ας διατρέξουμε αυτόν τον πίνακα με έναν βρόγχο, ελέγχοντας κάθε στοιχείο με την κανονική μας έκφραση:

php<?php
  foreach ($arr as $str) {
    echo $str . ' ' . preg_match($reg, $str) . '<br>';
  }
?>

Ας συγκεντρώσουμε όλο τον κώδικα μαζί και θα πάρουμε ένα βολικό πρότυπο για τη δοκιμή κανονικών εκφράσεων:

php<?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>';
  }
?>
Задание 1

Ας υποθέσουμε ότι πρέπει να ελέγξετε ότι σε ένα string υπάρχει ένας κλασματικός αριθμός. Χρησιμοποιώντας το προτεινόμενο script, δοκιμάστε την κανονική σας έκφραση σε διάφορα strings.