Εξαιρέσεις μέσα σε σύνολα σε κανονικές εκφράσεις Python
Γνωρίζετε ήδη ότι οι ειδικοί χαρακτήρες μέσα σε []
γίνονται συνηθισμένοι χαρακτήρες. Υπάρχουν, ωστόσο,
εξαιρέσεις: εάν χρειάζεστε αγκύλες
ως χαρακτήρες μέσα σε [ ] - τότε
πρέπει να αποφύγετε τη χρήση τους με ανάστροφη κάθετο. Για
παράδειγμα, στον ακόλουθο κώδικα το μοτίβο αναζήτησης
μοιάζει με αυτό: ανάμεσα στα x βρίσκεται
μια αγκύλη:
txt = 'x]x xax x[x x1x'
res = re.sub('x[\[\]]x', '!', txt)
print(res)
Ως αποτέλεσμα, στη μεταβλητή θα καταγραφεί το ακόλουθο:
'! xax ! x1x'
Δίνεται η συμβολοσειρά:
txt = 'x[]z x[[]]z x()z'
Γράψτε μια κανονική έκφραση που θα βρει όλες
τις λέξεις σύμφωνα με το μοτίβο: γράμμα 'x',
έπειτα αγκύλες οποιονδήποτε αριθμό
φορών, έπειτα γράμμα 'z'.
Δίνεται η συμβολοσειρά:
txt = 'x[]z x{}z x.z x()z x([])z'
Γράψτε μια κανονική έκφραση που θα βρει όλες
τις λέξεις σύμφωνα με το μοτίβο: γράμμα 'x',
έπειτα οποιοσδήποτε αριθμός οποιωνδήποτε παρενθέσεων, έπειτα
γράμμα 'z'.