[Soci SLIP] regular expressions

loredana llcfree a gmail.com
Mer 3 Ago 2011 15:27:46 CEST


2011/8/3 Paolo Craveri <pcraveri a gmail.com>

>
> mi riallaccio ad un precedente thread; le regular expression sono per me
> delle stringhe magiche che conosco supeficialmente ma che vedo usare dai
> guru con disinvoltura (ma come fate? studiate a memoria o le trovate
> logiche? :-)).
>

Le espressioni regolari sono un modo di rappresentare un insieme di stringhe
con una sola
stringa. La stringa in questione dipende dal linguaggio usato (ed, grep,
emacs, awk, bash, perl,
python etc), e questo e' il primo ma non il vero guaio.

In ogni caso, indipendentemente dall'implementazione in un linguaggio o
nell'altro, si tratta di risolvere il seguente problema: come identificare
tutte le stringhe che interessano E SOLO QUELLE. La parte difficile e'
quella in maiuscolo. Molti problemi di sicurezza, per esempio, dipendono da
cattiva implementazione
di quest'aspetto. Idem per moltissimi bachi nei programmi.

Non funziona a memoria, cosi' come non funziona
studiarsi a memoria la soluzione dei problemi di matematica o i programmi.
Sono tutte operazioni
che richiedono la capacita' di capire e risolvere il
problema che uno ha di fronte, applicando quello
che uno sa. Come succede con lo scrivere, o con
la matematica o con la musica. Il ruolo della memoria e' importante per
imparare i singoli componenti e anche le regole, ma il processo di metterli
insieme per farne ogni volta qualcosa di diverso o risolvere un problema
diverso rispettando un insieme di regole e' creativo e per quello la memoria
non basta. Ci vuole l'esercizio e lo sforzo
personale.

Le espressioni regolari sono un vero e proprio linguaggio di programmazione,
per cui esiste non
solo una logica, ma una teoria e una definizione
ben precisa. Percio' si possono capire.

L'unico modo che vedo di parlarne in generale
e' spiegare la teoria con degli esempi. E poi scegliere una delle
implementazioni (io userei perl, ma solo perche' conosco meglio quello) per
vedere come funzionano in pratica. Ma si puo' fare senza alcun linguaggio,
come esercizio sulla carta, in base alle sole definizioni.

In un mondo diverso le espressioni regolari forse potrebbero essere un gioco
divertente (in quel mondo non ci dovrebbero essere tra i piedi certi
educatori :)

Loredana



> Se il bisogno di maggiore conoscenza fosse condiviso da altri potrebbero
> essere argomento di un prossimo talk (magari con esempi pratici di uso di re
> con altri programmi... '''magici''' quali sed)?
>
>
> ciao
>
> --
> --
> Paolo C.
>
>
> _______________________________________________
> Soci mailing list
> Soci a mail.pinerolo.linux.it
> https://liszt.softwareliberopinerolo.org/vecchiamlsoci/
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://mailman.pinerolo.linux.it/pipermail/soci/attachments/20110803/8dea93e3/attachment.html


Maggiori informazioni sulla lista Soci