Il wiki della programmazione - Espressioni regolari

Home :: Pagine che puntano a questa :: Login/Register

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):
  1. function check($testo) {
  2. // controlla che ci siano solo lettere o spazi (tramite codici ASCII)
  3.   for($i = 0; $i < strlen($testo) - 1; $i++)
  4.     if(!(ord($testo[$i]) >= 65 && ord($testo[$i]) <= 90) && !(ord($testo[$i]) >= 97 && ord($testo[$i]) <= 122) && $testo[$i] != " ") return false;
  5. // controlla che la prima lettera sia maiuscola
  6.   if(substr($testo, 1) != strtoupper(substr($testo, 1))) return false;
  7. // controlla che le restanti lettere siano tutte minuscole o spazi
  8.   for($i = 1; $i < strlen($testo) - 1; $i++)
  9.     if($testo[$i] != strtolower($testo[$i]) && $testo[$i] != " ") return false;
  10.   return true;
  11. }
  12. if(check("Mario Rossi")) echo "Nome valido";

Ecco l'espressione regolare corrispondente:
  1. 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
Valid XHTML 1.0 Strict :: Valid CSS :: Realizzato con Wikka Wakka Wiki 1.1.6.3
Page was generated in 0.0643 seconds