Most recent edit on 2007-09-04 09:14:53 by MarcoPagnin
Additions:
Alcune persone, quando affrontano un problema, pensano: “Lo so, finirò per usare le espressioni regolari”. A questo punto, hanno due problemi.
-- Jamie Zawinski, in comp.lang.emacs
Edited on 2007-09-03 15:52:18 by MarcoPagnin
Additions:
Indirizzo di email
Edited on 2007-08-29 10:06:11 by MarcoPagnin
Additions:
Imparare a usare le regex
Esempi di regex
Oldest known version of this page was edited on 2007-08-28 17:44:49 by MarcoPagnin []
Page view:
Espressioni regolari
Le
espressioni regolari sono una combinazione di caratteri che identifica un testo con determinate caratteristiche.
L'uso principale consiste nel trovare o sostituire del testo con determinate caratteristiche, e rappresentano una sintetica via di mezzo tra un concetto mentale e un frammento di codice.
Esempi
Il seguente esempio verifica se una stringa è un nome (e cognome) valido (il codice è in
php):
function check($testo) {
// controlla che ci siano solo lettere o spazi (tramite codici ASCII)
for($i =
0;
$i <
strlen($testo) -
1;
$i++
)
if(!
(ord($testo[$i]) >=
65 &&
ord($testo[$i]) <=
90) && !
(ord($testo[$i]) >=
97 &&
ord($testo[$i]) <=
122) &&
$testo[$i] !=
" ") return false;
// controlla che la prima lettera sia maiuscola
// controlla che le restanti lettere siano tutte minuscole o spazi
for($i =
1;
$i <
strlen($testo) -
1;
$i++
)
if($testo[$i] !=
strtolower($testo[$i]) &&
$testo[$i] !=
" ") return false;
return true;
}
if(check
("Mario Rossi")) echo "Nome valido";
Ecco l'espressione regolare corrispondente:
if(ereg("([A-Z][a-z]*[ ]+){1,}[A-Z]",
"Mario Rossi")) echo "Nome valido";
Difficoltà
Imparare le espressioni regolari non è semplicissimo, in quanto stringhe molto simili possono avere significati completamente diversi.
L'unico modo per imparare a utilizzare le regex è di fare molto esercizio, possibilmente guidato.
Riferimenti
http://www.regular-expressions.info∞
Categories
Espressioni Regolari