Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Python - espressioni regolari in python
Forum - Python - espressioni regolari in python

Avatar
GigiDual (Normal User)
Newbie


Messaggi: 2
Iscritto: 26/12/2010

Segnala al moderatore
Postato alle 11:54
Domenica, 26/12/2010
Salve, dovrei leggere un file di testo e cercare il contenuto con una espressione regolare in questo modo:

[gxyzftsm][-+]?[0-9]*\\.?[0-9]*

devo ricavare con uno switch le funzioni che gli passo, esempio

g0
t1
x20
y0
z-2
etc.

Mi dite come posso fare in python?

grazie mille.

PM
Avatar
delta (Member)
Rookie


Messaggi: 37
Iscritto: 25/08/2010

Up
1
Down
V
Segnala al moderatore
Postato alle 14:52
Domenica, 26/12/2010
per le espressioni regolari devi importare il modulo re.
la funzione match dovrebbe essere quello che cerchi.

il costrutto switch in python non c'e', normalmente si usa una serie di if o un dizionario...

PM
Avatar
delta (Member)
Rookie


Messaggi: 37
Iscritto: 25/08/2010

Up
1
Down
V
Segnala al moderatore
Postato alle 10:59
Martedì, 28/12/2010
Testo quotato

Postato originariamente da GigiDual:

Testo quotato

Postato originariamente da delta:

per le espressioni regolari devi importare il modulo re.
la funzione match dovrebbe essere quello che cerchi.

il costrutto switch in python non c'e', normalmente si usa una serie di if o un dizionario...



hai qualche esempio di codice??

Io vengo da C# e mi sto convertendo tutto a linux ubuntu con python.



Codice sorgente - presumibilmente Python

  1. import re
  2.  
  3. def g0(args):
  4.     #fai qualcosa
  5.  
  6. def z_meno_2(args):
  7.     #fai dell'altro
  8.  
  9. funzioni={
  10.     'g0': g0,
  11.     'z-2': z_meno_2
  12.     }
  13.  
  14. percorso_file="path/to/my/file"
  15. for linea in open(percorso_file): #leggo il file riga per riga
  16.     if re.match("[gxyzftsm][-+]?[0-9]*\\.?[0-9]*", linea):
  17.         #se leggo qualcosa che corrisponde all'espressione regolare
  18.         #richiamo la funzione relativa a quello che ho letto
  19.         print funzioni[linea](args)



questo è un possibile codice, facci sapere!

PM
Avatar
GigiDual (Normal User)
Newbie


Messaggi: 2
Iscritto: 26/12/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 12:59
Lunedì, 27/12/2010
Testo quotato

Postato originariamente da delta:

per le espressioni regolari devi importare il modulo re.
la funzione match dovrebbe essere quello che cerchi.

il costrutto switch in python non c'e', normalmente si usa una serie di if o un dizionario...



hai qualche esempio di codice??

Io vengo da C# e mi sto convertendo tutto a linux ubuntu con python.

PM
Avatar
total (Member)
Guru


Messaggi: 815
Iscritto: 16/09/2006

Up
0
Down
V
Segnala al moderatore
Postato alle 1:07
Martedì, 28/12/2010
per alternative alle switch.. guarda quà
http://stackoverflow.com/questions/60208/replacements-for- ...

PM