Ονομασμένες ομάδες στη μέθοδο search της Python
Για να κάνουμε την εργασία με ομάδες πιο
βολική, μπορούμε να τους δώσουμε ονόματα. Για αυτό
στην πρώτη παράμετρο της μεθόδου search
πριν από τον συμβολισμό της κανονικής έκφρασης γράφεται
η συμβολοσειρά '?P', μετά από αυτή σε γωνιακές
αγκύλες καθορίζεται το όνομα της ομάδας.
Τέτοιες ομάδες μπορούν να ληφθούν με τη βοήθεια
της μεθόδου groupdict. Θα τις εμφανίσει
με τη μορφή λεξικού, στο οποίο το κλειδί - το όνομα της ομάδας,
και η τιμή - η υποσυμβολοσειρά που βρίσκεται σε αυτή.
Ας δούμε τη δουλειά με ονομασμένες ομάδες με ένα παράδειγμα. Ας υποθέσουμε ότι έχουμε τη συμβολοσειρά:
txt = '123 456'
Ας κάνουμε για αυτή δύο ομάδες, που
θα ονομάζονται 'num1' και 'num2'
αντίστοιχα:
res = re.search('(?P<num1>\d+)\s(?P<num2>\d+)', txt)
Τώρα ας εμφανίσουμε τις ομάδες μας με τη μέθοδο groupdict:
print(res.groupdict()) # θα εμφανίσει {'num1': '123', 'num2': '456'}
Δίνεται μια συμβολοσειρά με ώρα:
txt = '12:59:59'
Τοποθετήστε τις ώρες, τα λεπτά και τα δευτερόλεπτα σε ξεχωριστές ονομασμένες ομάδες.
Δίνεται συμβολοσειρά:
txt = 'aaa bbb 123 456'
Τοποθετήστε τις υποσυμβολοσειρές 'aaa' και 'bbb'
σε ξεχωριστές ονομασμένες ομάδες.
Δίνεται συμβολοσειρά:
txt = 'alex23'
Τοποθετήστε το όνομα και την ηλικία του χρήστη σε ξεχωριστές ονομασμένες ομάδες.