Ομάδες χαρακτήρων μέσα σε σύνολα στις κανονικές εκφράσεις της Python
Οι ομάδες χαρακτήρων \d, \D,
\w, \W, \s, \S
μέσα σε [] θα συμβολίζουν ακριβώς
ομάδες, δηλαδή θα παραμείνουν ως εντολές.
Παράδειγμα
Σε αυτό το παράδειγμα, το μοτίβο αναζήτησης μοιάζει
με αυτό: μεταξύ των x οποιοδήποτε ψηφίο, ή
γράμμα από 'a' έως 'f':
txt = 'xax xbx x1x x2x xhx x@x'
res = re.sub('x[\da-f]x', '!', txt)
print(res)
Αποτέλεσμα εκτέλεσης κώδικα:
'! ! ! ! xhx x@x'
Παράδειγμα
Σε αυτό το παράδειγμα, το μοτίβο αναζήτησης μοιάζει
με αυτό: γράμμα 'x', μετά όχι ψηφίο,
όχι τελεία, και όχι πεζό λατινικό γράμμα,
μετά γράμμα 'z':
txt = 'xaz x1z xAz x.z x@z'
res = re.sub('x[^\d.a-z]z', '!', txt)
print(res)
Αποτέλεσμα εκτέλεσης κώδικα:
'xaz x1z ! x.z !'
Πρακτικά προβλήματα
Γράψτε μια κανονική έκφραση που θα βρει συμβολοσειρές
σύμφωνα με το μοτίβο: ψηφίο ή τελεία από 1
και περισσότερες φορές.
Γράψτε μια κανονική έκφραση που θα βρει συμβολοσειρές
σύμφωνα με το μοτίβο: όχι ψηφίο και όχι γράμμα από
'a' έως 'g' από 3 έως
7 φορές.