Ειδικοί χαρακτήρες μέσα σε αγκύλες στην Python

Οι ειδικοί χαρακτήρες μέσα σε [ ] γίνονται συνηθισμένοι χαρακτήρες. Αυτό σημαίνει ότι δεν χρειάζεται να αποφεύγονται με ανάστροφη κάθετο.

Παράδειγμα

Σε αυτό το παράδειγμα, το μοτίβο αναζήτησης μοιάζει με αυτό: μεταξύ των x οποιοδήποτε γράμμα 'a', 'b', 'c', ή τελεία:

pythontxt = 'xax xbx xcx xdx x.x x@x'
res = re.sub('x[abc.]x', '!', txt)

print(res)

Αποτέλεσμα εκτέλεσης του κώδικα:

python'! ! ! xdx ! x@x'

Παράδειγμα

Σε αυτό το παράδειγμα, το μοτίβο αναζήτησης μοιάζει με αυτό: μεταξύ των x οποιοδήποτε πεζό λατινικό γράμμα ή τελεία:

pythontxt = 'xax xbx xcx x@x'
res = re.sub('x[a-z.]x', '!', txt)

print(res)

Αποτέλεσμα εκτέλεσης του κώδικα:

python'! ! ! x@x'

Πρακτικά προβλήματα

Задание 1

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

pythontxt = 'aba aea aca aza axa a.a a+a a*a'

Γράψτε μια κανονική έκφραση που θα βρει τις συμβολοσειρές 'a.a', 'a+a', 'a*a', χωρίς να επηρεάσει τις υπόλοιπες.

Задание 2

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

pythontxt = 'xaz x.z x3z x@z x$z xrz'

Γράψτε μια κανονική έκφραση που θα βρει συμβολοσειρές σύμφωνα με το μοτίβο: γράμμα 'x', μετά ΟΧΙ τελεία, ΟΧι @, και ΟΧΙ δολάριο, και μετά γράμμα 'z'.