Έλεγχος ολόκληρης της συμβολοσειράς με κανονικές εκφράσεις στην PHP

Συχνά η preg_match χρησιμοποιείται για τον έλεγχο αν μια συμβολοσειρά αντιστοιχεί σε μια κανονική έκφραση ολόκληρης της συμβολοσειράς. Σε αυτήν την περίπτωση, στην αρχή της κανονικής έκφρασης πρέπει να βάλουμε το σύμβολο ^, και στο τέλος - το σύμβολο $. Με αυτό λέμε ότι το μοτίβο πρέπει να καλύψει ολόκληρη τη συμβολοσειρά.

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

php<?php
  echo preg_match('#^a+$#', 'aaaa'); // θα εκτυπώσει 1
  echo preg_match('#^a+$#', 'aaab'); // θα εκτυπώσει 0
?>
Задание 1

Προσδιορίστε εάν η συμβολοσειρά που μεταβιβάστηκε είναι ένα domain. Χρησιμοποιήστε για tests τις ακόλουθες συμβολοσειρές:

php<?php
  $arr[] = 'site.ru';          // +
  $arr[] = 'site.com';         // +
  $arr[] = 'my-site.com';      // +
  $arr[] = 'my-cool-site.com'; // +
  $arr[] = 'my_site.com';      // +
  $arr[] = 'site123.com';      // +
  $arr[] = 'site.travel';      // +
  $arr[] = 'si$te.com';        // -
  $arr[] = 'site.r';           // -
?>
Задание 2

Προσδιορίστε εάν η συμβολοσειρά που μεταβιβάστηκε είναι ένα email. Χρησιμοποιήστε για tests τις ακόλουθες συμβολοσειρές:

php<?php
  $arr[] = 'addr@mail.ru';    // +
  $arr[] = 'addr123@mail.ru'; // +
  $arr[] = 'my-addr@mail.ru'; // +
  $arr[] = 'my_addr@mail.ru'; // +
  $arr[] = 'addr@site.ru';    // +
  $arr[] = 'addr.ru';         // -
  $arr[] = 'addr@.ru';        // -
  $arr[] = 'my@addr@mail.ru'; // -
?>