101 of 151 menu

Η μέθοδος finditer της μονάδας re

Η μέθοδος finditer της μονάδας re επιστρέφει έναν επαναλήπτη όλων των αντιστοιχίσεων με κανονική έκφραση σε μια συμβολοσειρά. Στην πρώτη παράμετρο της μεθόδου καθορίζουμε την κανονική έκφραση. Στη δεύτερη παράμετρο ορίζουμε τη συμβολοσειρά, στην οποία ψάχνουμε την κανονική έκφραση. Στην τρίτη προαιρετική παράμετρο μπορούμε να ορίσουμε σημαίες. Η μέθοδος ελέγχει όλες τις αντιστοιχίσεις, ψάχνοντάς τες από αριστερά προς τα δεξιά.

Σύνταξη

import re re.finditer(κανονική_έκφραση, συμβολοσειρά, [σημαίες])

Παράδειγμα

Ας βρούμε όλες τις υποσυμβολοσειρές με ψηφία στην συμβολοσειρά μας:

txt = 'aaaa 123 bbbb 456' res = re.finditer('\d+', txt) print(res)

Αποτέλεσμα εκτέλεσης του κώδικα:

<callable_iterator object at 0x000002AA891300A0>

Παράδειγμα

Τώρα ας δηλώσουμε τη μεταβλητή res, της οποίας η τιμή θα είναι το αντικείμενο που λάβαμε στο προηγούμενο παράδειγμα. Στη συνέχεια, θα το επαναλάβουμε με έναν βρόγχο:

txt = 'aaaa 123 bbbb 456' res = re.finditer('\d+', txt) for el in res: print(el)

Μετά την εκτέλεση του κώδικα θα λάβουμε δύο αντικείμενα Match object:

<re.Match object; span=(5, 8), match='123'> <re.Match object; span=(14, 17), match='456'>

Αυτά τα αντικείμενα περιέχουν πληροφορίες για όλες τις αντιστοιχίσεις με την κανονική έκφραση σε μορφή πλειάδας. Μπορούμε να εξάγουμε από αυτές τις αντιστοιχίσεις ανάλογα με το ευρετήριο:

for el in res: print(el[0])

Αποτέλεσμα εκτέλεσης του κώδικα:

'123' '456'

Παράδειγμα

Για μεγαλύτερη σαφήνεια, ας χρησιμοποιήσουμε κατά την αναζήτηση αντιστοιχίσεις ομάδες (capturing groups). Και κατά την επανάληψη των αντικειμένων του βρόγχου, ας εκτυπώσουμε την πρώτη αντιστοίχιση (θα θεωρηθεί ως η μηδενική ομάδα), καθώς και τα στοιχεία της, τα οποία με τη σειρά τους κατανέμονται σε ομάδες:

txt = 'aaaa 123 bbbb 456' res = re.finditer('(\d)(\d)', txt) for el in res: print(el[0], el[1], el[2])

Μετά την εκτέλεση του κώδικα θα λάβουμε τη μηδενική ομάδα, δηλαδή ολόκληρη την υποσυμβολοσειρά, καθώς και τον πρώτο και τον δεύτερο χαρακτήρα από αυτήν την υποσυμβολοσειρά:

'12' '1' '2' '45' '4' '5'

Δείτε επίσης

  • η μέθοδος findall της μονάδας re,
    που επιστρέφει μια λίστα με όλες τις αντιστοιχίσεις σε μια συμβολοσειρά
  • η μέθοδος search της μονάδας re,
    που αναζητά την πρώτη αντιστοίχιση με κανονική έκφραση σε μια συμβολοσειρά
  • η μέθοδος match της μονάδας re,
    που αναζητά αντιστοίχιση με κανονική έκφραση στην αρχή της συμβολοσειράς
  • η μέθοδος fullmatch της μονάδας re,
    που αναζητά όλες τις αντιστοιχίσεις με κανονική έκφραση σε μια συμβολοσειρά
  • το αντικείμενο Match object της μονάδας re,
    που περιέχει πληροφορίες για αντιστοιχίσεις με κανονική έκφραση
  • η μέθοδος split της μονάδας re,
    που διαχωρίζει μια συμβολοσειρά σε λίστα βάσει του καθορισμένου διαχωριστικού
Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη