Αρχή και τέλος γραμμής στις κανονικές εκφράσεις της PHP

Υπάρχουν ειδικοί χαρακτήρες που υποδηλώνουν την αρχή ^ ή το τέλος της γραμμής $. Ας δούμε τη λειτουργία τους με παραδείγματα.

Παράδειγμα

Σε αυτό το παράδειγμα, το μοτίβο αναζήτησης είναι: αντικατάσταση του 'aaa' με '!' μόνο εάν βρίσκεται στην αρχή της γραμμής:

php<?php
  $str = 'aaa aaa aaa';
  $res = preg_replace('#^aaa#', '!', $str);
?>

Ως αποτέλεσμα, στη μεταβλητή θα καταγραφεί το εξής:

php'! aaa aaa'

Παράδειγμα

Σε αυτό το παράδειγμα, το μοτίβο αναζήτησης είναι: αντικατάσταση του 'aaa' με '!' μόνο εάν βρίσκεται στο τέλος της γραμμής:

php<?php
  $str = 'aaa aaa aaa';
  $res = preg_replace('#aaa$#', '!', $str);
?>

Ως αποτέλεσμα, στη μεταβλητή θα καταγραφεί το εξής:

php'aaa aaa !'

Παράδειγμα

Όταν στην αρχή της κανονικής έκφρασης υπάρχει ^, και στο τέλος - $, τότε με αυτόν τον τρόπο ελέγχουμε ολόκληρη τη γραμμή για αντιστοιχία με την κανονική έκφραση.

Στο επόμενο παράδειγμα, το μοτίβο αναζήτησης είναι: το γράμμα 'a' επαναλαμβάνεται μία ή περισσότερες φορές, αντικατάσταση ολόκληρης της γραμμής με '!' μόνο εάν αποτελείται εξ ολοκλήρου από γράμματα 'a'.

php<?php
  $str = 'aaa';
  $res = preg_replace('#^a+$#', '!', $str);
?>

Ως αποτέλεσμα, στη μεταβλητή θα καταγραφεί το εξής:

php'!'

Πρακτικές ασκήσεις

Задание 1

Δίνεται η συμβολοσειρά:

php<?php
  $str = 'abc def xyz';
?>

Γράψτε μια κανονική έκφραση που θα βρει την πρώτη υποσυμβολοσειρά από γράμματα.

Задание 2

Δίνεται η συμβολοσειρά:

php<?php
  $str = 'abc def xyz';
?>

Γράψτε μια κανονική έκφραση που θα βρει την τελευταία υποσυμβολοσειρά από γράμματα.

Задание 3

Δίνεται η συμβολοσειρά:

php<?php
  $str = '$aaa$ $bbb$ $ccc
';
?>

Γράψτε μια κανονική έκφραση που θα βρει την τελευταία υποσυμβολοσειρά από γράμματα, που περικλείεται από σύμβολα δολαρίου.