Η μέθοδος findall στις κανονικές εκφράσεις της Python
Για την εύρεση όλων των αντιστοιχιών με μια κανονική έκφραση στην
Python χρησιμοποιείται η μέθοδος findall.
Στην πρώτη παράμετρο της μεθόδου καθορίζουμε
την κανονική έκφραση που θα αναζητήσουμε, στη δεύτερη
παράμετρο - τη συμβολοσειρά για αναζήτηση. Η μέθοδος
ελέγχει όλες τις αντιστοιχίες, αναζητώντας τις από αριστερά
προς τα δεξιά. Επιστρέφει μια λίστα με συμβολοσειρές των
αντιστοιχιών ή μια λίστα με πλειάδες, εάν για
αναζήτηση έχουν οριστεί κανονικές εκφράσεις σε ομάδες (capturing groups). Εάν
δεν βρεθούν αντιστοιχίες, επιστρέφεται μια κενή λίστα. Η σύνταξη της μεθόδου findall
είναι ως εξής:
re.findall(τι να αναζητήσει, πού να αναζητήσει)
Ας βρούμε όλες τις αντιστοιχίες με την κανονική έκφραση στη συμβολοσειρά:
txt = '12 43 56 ab'
res = re.findall('\d+', txt)
print(res)
Αποτέλεσμα εκτέλεσης του κώδικα:
['12', '43', '56']
Δίνεται η συμβολοσειρά:
txt = '123 aaa 456 bbb 789'
Εκτυπώστε τη λίστα με τις υποσυμβολοσειρές που περιέχουν ψηφία.
Δίνεται η συμβολοσειρά:
txt = 'abc 123 def 456 789'
Εκτυπώστε τη λίστα με τις υποσυμβολοσειρές που περιέχουν γράμματα.