Σύνορα λέξεων στις κανονικές εκφράσεις της Python
Με την εντολή '\\b' μπορούμε
να προσεγγίσουμε το όριο μιας λέξης, ενώ με την
εντολή '\B' ή '\\B' - όχι
στο όριο. Παρατηρήστε ότι στην
περίπτωση ορισμού των ορίων λέξεων στην Python
η διαφυγή λειτουργεί αυστηρά με χρήση
δύο ανάστροφων καθέτων, αν και για άλλες εντολές
επιτρέπεται ένας ανάστροφος κάθετος. Ας δούμε
τη λειτουργία αυτών των εντολών με παραδείγματα.
Παράδειγμα
Ας τυλίξουμε κάθε λέξη με τον χαρακτήρα
'!':
txt = 'aaa aaa aaa'
print(re.sub('\\b', '!', txt))
Αποτέλεσμα εκτέλεσης κώδικα:
'!aaa! !aaa! !aaa!'
Παράδειγμα
Ας προσθέσουμε τον χαρακτήρα '!' στα
κενά μεταξύ των γραμμάτων:
txt = 'aaa aaa aaa'
print(re.sub('\\B', '!', txt))
Αποτέλεσμα εκτέλεσης κώδικα:
'a!a!a a!a!a a!a!a'
Πρακτικές ασκήσεις
Δίνεται η συμβολοσειρά:
txt = 'abc def xyz'
Γράψτε μια κανονική έκφραση που θα μετατρέψει αυτήν τη συμβολοσειρά στην ακόλουθη:
'#abc# #def# #xyz#'
Δίνεται η συμβολοσειρά:
txt = 'abc def xyz'
Γράψτε μια κανονική έκφραση που θα μετατρέψει αυτήν τη συμβολοσειρά στην ακόλουθη:
'a+b+c d+e+f x+y+z'