Ειδικοί χαρακτήρες μέσα σε αγκύλες στην Python
Οι ειδικοί χαρακτήρες μέσα σε [ ] γίνονται
συνηθισμένοι χαρακτήρες. Αυτό σημαίνει ότι δεν
χρειάζεται να αποφεύγονται με ανάστροφη κάθετο.
Παράδειγμα
Σε αυτό το παράδειγμα, το μοτίβο αναζήτησης μοιάζει
με αυτό: μεταξύ των x οποιοδήποτε γράμμα 'a',
'b', 'c', ή τελεία:
txt = 'xax xbx xcx xdx x.x x@x'
res = re.sub('x[abc.]x', '!', txt)
print(res)
Αποτέλεσμα εκτέλεσης του κώδικα:
'! ! ! xdx ! x@x'
Παράδειγμα
Σε αυτό το παράδειγμα, το μοτίβο αναζήτησης μοιάζει με αυτό: μεταξύ των x οποιοδήποτε πεζό λατινικό γράμμα ή τελεία:
txt = 'xax xbx xcx x@x'
res = re.sub('x[a-z.]x', '!', txt)
print(res)
Αποτέλεσμα εκτέλεσης του κώδικα:
'! ! ! x@x'
Πρακτικά προβλήματα
Δίνεται η συμβολοσειρά:
txt = 'aba aea aca aza axa a.a a+a a*a'
Γράψτε μια κανονική έκφραση που θα βρει τις συμβολοσειρές
'a.a', 'a+a', 'a*a',
χωρίς να επηρεάσει τις υπόλοιπες.
Δίνεται η συμβολοσειρά:
txt = 'xaz x.z x3z x@z x$z xrz'
Γράψτε μια κανονική έκφραση που θα βρει συμβολοσειρές
σύμφωνα με το μοτίβο: γράμμα 'x', μετά ΟΧΙ
τελεία, ΟΧι @, και ΟΧΙ δολάριο, και μετά
γράμμα 'z'.