Αντικείμενο Match
Το αντικείμενο Match αντιπροσωπεύει ένα αντικείμενο με
πληροφορίες για ταιριάσματα με κανονική έκφραση
σε συμβολοσειρά. Το αντικείμενο Match μπορεί να ληφθεί,
εφαρμόζοντας τις ακόλουθες μεθόδους: fullmatch,
match,
search.
Οι πληροφορίες από το αντικείμενο Match μπορούν να εξαχθούν χρησιμοποιώντας τις κύριες μεθόδους.
Κύριες μέθοδοι που εφαρμόζονται σε αντικείμενο Match
| Μέθοδος | Σκοπός |
|---|---|
group |
Επιστρέφει τη μηδενική ομάδα. |
groups |
Επιστρέφει μια πλειάδα από ομάδες. |
groupdict |
Επιστρέφει ένα λεξικό από ονομασμένες ομάδες. |
span |
Επιστρέφει τους πρώτους και τελευταίους δείκτες μιας πλειάδας από μία ομάδα. |
start |
Επιστρέφει τον πρώτο δείκτη μιας πλειάδας από μία ομάδα. |
end |
Επιστρέφει τον τελευταίο δείκτη μιας πλειάδας από μία ομάδα. |
Παράδειγμα . Αντικείμενο Match χωρίς μέθοδο
Ας εφαρμόσουμε τη μέθοδο match στη
συμβολοσειρά μας:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res)
Αποτέλεσμα εκτέλεσης κώδικα:
<re.Match object; span=(0, 3), match='123'>
Παράδειγμα . Μέθοδος group
Τώρα ας εμφανίσουμε τη μηδενική ομάδα
από το αντικείμενο Match με τη μέθοδο group:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res.group())
Αποτέλεσμα εκτέλεσης κώδικα:
'123'
Παράδειγμα . Μέθοδος groups
Ας εφαρμόσουμε τη μέθοδο groups στο αντικείμενο που προκύπτει
για να εμφανίσουμε τις πλειάδες
των ομάδων:
txt = '123 456 789'
res = re.match('(\d)(\d)', txt)
print(res.groups())
Αποτέλεσμα εκτέλεσης κώδικα:
('1', '2')
Παράδειγμα . Μέθοδος groupdict
Για να εμφανίσουμε το λεξικό των ονομασμένων ομάδων
μπορούμε να εφαρμόσουμε τη μέθοδο groupdict:
res = re.match('(?P<test1>\d)(?P<test2>\d)', txt)
print(res.groupdict())
Αποτέλεσμα εκτέλεσης κώδικα:
{'test1': '1', 'test2': '2'}
Παράδειγμα . Μέθοδος span
Ας εμφανίσουμε την πλειάδα από τους πρώτους και
τους τελευταίους δείκτες μιας πλειάδας. Για
αυτό χρησιμοποιούμε τη μέθοδο span:
res = re.match('\d+', txt)
print(res.span())
Μετά την εκτέλεση του κώδικα θα δείτε μια πλειάδα, που αποτελείται από δύο δείκτες. Αλλά ταυτόχρονα παρατηρήστε ότι η τελευταία τιμή είναι κατά μία μονάδα μεγαλύτερη από τον τελικό δείκτη:
(0, 3)
Παράδειγμα . Μέθοδοι start και end
Για να επιστρέψουμε κάθε έναν από τους δείκτες
ξεχωριστά, μπορούμε να εφαρμόσουμε τις μεθόδους start
και end:
res = re.match('\d+', txt)
print(res.start())
print(res.end())
Αποτέλεσμα εκτέλεσης κώδικα:
0
3
Δείτε επίσης
-
η μέθοδος
matchτης modulere,
που αναζητά ταίριασμα με κανονική έκφραση στην αρχή της συμβολοσειράς -
η μέθοδος
fullmatchτης modulere,
που αναζητά όλα τα ταιριάσματα με κανονική έκφραση στη συμβολοσειρά -
η μέθοδος
searchτης modulere,
που αναζητά το πρώτο ταίριασμα με κανονική έκφραση στη συμβολοσειρά