Έλεγχος ολόκληρης της συμβολοσειράς με κανονικές εκφράσεις στην PHP
Συχνά η preg_match χρησιμοποιείται για
τον έλεγχο αν μια συμβολοσειρά αντιστοιχεί σε μια κανονική έκφραση
ολόκληρης της συμβολοσειράς. Σε αυτήν την περίπτωση, στην αρχή της κανονικής έκφρασης
πρέπει να βάλουμε το σύμβολο ^, και στο τέλος
- το σύμβολο $. Με αυτό λέμε ότι το
μοτίβο πρέπει να καλύψει ολόκληρη τη συμβολοσειρά.
Ας μάθουμε για παράδειγμα, αν μια συμβολοσειρά
αποτελείται εξ ολοκλήρου από το γράμμα 'a',
ή όχι:
<?php
echo preg_match('#^a+$#', 'aaaa'); // θα εκτυπώσει 1
echo preg_match('#^a+$#', 'aaab'); // θα εκτυπώσει 0
?>
Προσδιορίστε εάν η συμβολοσειρά που μεταβιβάστηκε είναι ένα domain. Χρησιμοποιήστε για tests τις ακόλουθες συμβολοσειρές:
<?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'; // -
?>
Προσδιορίστε εάν η συμβολοσειρά που μεταβιβάστηκε είναι ένα email. Χρησιμοποιήστε για tests τις ακόλουθες συμβολοσειρές:
<?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'; // -
?>