Συζήτηση
Γεια χαρά, Επισκέπτης
Όνομα χρήστη: Κωδικός: Να με θυμάσαι

ΘΕΜΑ: regex

regex 7 Χρόνια 6 Μήνες πριν #4472

  • Theo
  • Το Άβαταρ του/της Theo
  • Αποσυνδεμένος
  • pytho_
  • Δημοσιεύσεις: 249
  • Ληφθείσες Ευχαριστίες 70
Γεια σε όλους
Για να πάρουμε τις λέξεις σε μια πρόταση συνήθως χρησιμοποιούμε τη μέθοδο str.split()
γίνεται όμως εύκολα και με τη χρήση της re (regular expressions)

H re μας δίνει άπειρες δυνατότητες στην επεξεργασία κειμένου.

Αν θέλω λοιπόν να πω ότι λέξη είναι οποιαδήποτε ακολουθία χαρακτήρων που δεν έχει κενό μια ή περισσότερες φορές και ξέρω λίγο από regular expressions
αυτό μεταφράζεται πολύ εύκολα σε \S+
>>> import re
>>> a='καλημερα τι κανεις είσαι κλα2 53'
>>> word=re.compile('\S+')
>>> words=word.findall(a)
>>> words
['καλημερα', 'τι', 'κανεις', 'είσαι', 'κλα2', '53']

Στο ισόμνια κάποιος έθεσε το πρόβλημα να βρούμε τη μεγαλύτερη ακολουθία 0 η 1 σε έναν δυαδικό
σε re το 0... και το 1.. μεταφράζεται εύκολα σε 0+|1+
αντί λοιπόν να διαβάζουμε όλους τους χαρακτήρες και να υλοποιούμε αλγόριθμους κλπ

αρκεί
>>> sequence0_1='000001111111000011111111110000'
>>> winner=max((re.findall('1+|0+', sequence0_1)), key=len)
>>> winner
'1111111111'

καλή πηγή γενικά για re
www.regular-expressions.info/tutorial.html
για re σε python
docs.python.org/3/library/re.html
docs.python.org/3/howto/regex.html
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.329 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

Λίστα Ταχυδρομείου