Αρχή και τέλος γραμμής στις κανονικές εκφράσεις της PHP
Υπάρχουν ειδικοί χαρακτήρες που υποδηλώνουν
την αρχή ^ ή το τέλος της γραμμής $.
Ας δούμε τη λειτουργία τους με παραδείγματα.
Παράδειγμα
Σε αυτό το παράδειγμα, το μοτίβο αναζήτησης είναι: αντικατάσταση
του 'aaa' με '!' μόνο εάν
βρίσκεται στην αρχή της γραμμής:
<?php
$str = 'aaa aaa aaa';
$res = preg_replace('#^aaa#', '!', $str);
?>
Ως αποτέλεσμα, στη μεταβλητή θα καταγραφεί το εξής:
'! aaa aaa'
Παράδειγμα
Σε αυτό το παράδειγμα, το μοτίβο αναζήτησης είναι: αντικατάσταση
του 'aaa' με '!' μόνο εάν
βρίσκεται στο τέλος της γραμμής:
<?php
$str = 'aaa aaa aaa';
$res = preg_replace('#aaa$#', '!', $str);
?>
Ως αποτέλεσμα, στη μεταβλητή θα καταγραφεί το εξής:
'aaa aaa !'
Παράδειγμα
Όταν στην αρχή της κανονικής έκφρασης υπάρχει ^,
και στο τέλος - $, τότε με αυτόν τον τρόπο
ελέγχουμε ολόκληρη τη γραμμή για αντιστοιχία
με την κανονική έκφραση.
Στο επόμενο παράδειγμα, το μοτίβο αναζήτησης είναι:
το γράμμα 'a' επαναλαμβάνεται μία ή
περισσότερες φορές, αντικατάσταση ολόκληρης της γραμμής με '!'
μόνο εάν αποτελείται εξ ολοκλήρου από γράμματα 'a'.
<?php
$str = 'aaa';
$res = preg_replace('#^a+$#', '!', $str);
?>
Ως αποτέλεσμα, στη μεταβλητή θα καταγραφεί το εξής:
'!'
Πρακτικές ασκήσεις
Δίνεται η συμβολοσειρά:
<?php
$str = 'abc def xyz';
?>
Γράψτε μια κανονική έκφραση που θα βρει την πρώτη υποσυμβολοσειρά από γράμματα.
Δίνεται η συμβολοσειρά:
<?php
$str = 'abc def xyz';
?>
Γράψτε μια κανονική έκφραση που θα βρει την τελευταία υποσυμβολοσειρά από γράμματα.
Δίνεται η συμβολοσειρά:
<?php
$str = '$aaa$ $bbb$ $ccc
';
?>
Γράψτε μια κανονική έκφραση που θα βρει την τελευταία υποσυμβολοσειρά από γράμματα, που περικλείεται από σύμβολα δολαρίου.