Τέλος ή αρχή λέξης στις κανονικές εκφράσεις της PHP
Η εντολή \b δηλώνει την αρχή ή το τέλος
μιας λέξης, και η \B, αντίστοιχα, - όχι
αρχή και όχι τέλος λέξης. Τι είναι μια λέξη;
Με την πρώτη ματιά φαίνεται ότι είναι κάτι,
που οριοθετείται από κενά, αλλά αυτό δεν είναι απολύτως ακριβές.
Ρίξτε μια ματιά στην ακόλουθη σειρά: house
with fence. Η υποσυμβολοσειρά 'with' -
είναι μια λέξη (με κενά και από τις δύο πλευρές), ωστόσο
και η 'house', και η 'fence' είναι επίσης λέξεις,
που βρίσκονται στην αρχή και στο τέλος της συμβολοσειράς.
Ας δούμε την πρακτική εφαρμογή αυτής της εντολής.
Στο επόμενο παράδειγμα το μοτίβο αναζήτησης είναι το εξής:
αρχή λέξης, πεζά λατινικά γράμματα
μία ή περισσότερες φορές, τέλος λέξης. Έτσι,
η κανονική έκφραση θα βρει όλες τις λέξεις και θα τις αντικαταστήσει
με '!':
<?php
echo preg_replace('#\b[a-z]+\b#', '!', 'axx bxx xxx exx'); // θα εμφανίσει '! ! ! !'
?>
Δίνεται μια συμβολοσειρά:
<?php
$str = 'aaa xaa aaa xbb aaa';
?>
Γράψτε μια κανονική έκφραση, που θα βρει συμβολοσειρές
σύμφωνα με το μοτίβο: γράμμα 'x' στην αρχή
της λέξης.