Nozioni di base delle espressioni regolari

Introduzione all'uso delle espressioni regolari

Le espressioni regolari descrivono un modello di caratteri e vengono generalmente usate per verificare la conformità del testo a un modello specifico (per verificare, ad esempio, che un numero di telefono inserito dall'utente contenga il numero di cifre previsto) oppure per sostituire le porzioni di testo che coincidono con un particolare modello.

Le espressioni regolari possono essere semplici. Ad esempio, si supponga di voler verificare che una particolare stringa contenga il valore "ABC" o di voler sostituire ogni occorrenza di "ABC" di una stringa con un testo diverso. In questo caso, si potrebbe usare la seguente espressione regolare che definisce il modello composto dalle lettere A, B e C in sequenza:

/ABC/

Notare che l'inizio e la fine dell'espressione regolare sono indicati dalla barra (/).

La sintassi delle espressioni regolari può essere anche complessa, talvolta addirittura criptica, come dimostra l'esempio seguente di espressione che cerca un indirizzo e-mail valido:

/([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}/

Generalmente, le espressioni regolari vengono utilizzate per cercare dei modelli all'interno di stringhe e per sostituire dei caratteri. In questi casi, si crea un oggetto espressione regolare e lo si usa come parametro di uno dei vari metodi della classe String. I seguenti metodi della classe String accettano le espressioni regolari come parametri: match(), replace(), search() e split(). Per ulteriori informazioni su questi metodi, vedere Ricerca di modelli nelle stringhe e sostituzione di sottostringhe.

La classe RegExp comprende i seguenti metodi: test() e exec(). Per ulteriori informazioni, vedere Metodi di impiego di espressioni regolari con stringhe.

Operazioni comuni eseguite con le espressioni regolari

Le espressioni regolari hanno vari impieghi comuni, che il presente capitolo descrive nel dettaglio:

Concetti e termini importanti

L'elenco seguente contiene i termini più importanti che vengono utilizzati in questo capitolo:

Operazioni con gli esempi contenuti nel capitolo

È consigliabile provare gli esempi di codice presenti in questo capitolo. Poiché tali esempi consistono principalmente in modelli delle espressioni regolari, la prova comprende le operazioni seguenti:

  1. Creare un nuovo documento Flash.
  2. Selezionare un fotogramma chiave e aprire il pannello Azioni.
  3. Creare una variabile RegExp (espressione regolare) come la seguente:
    var pattern:RegExp = /ABC/;
    
  4. Copiare il modello dell'esempio e assegnarlo come valore della variabile RegExp. Ad esempio, nella riga di codice precedente, il modello è la parte di codice a destra del segno di uguale, escluso il punto e virgola (/ABC/).
  5. Creare una o più variabili String appropriate per provare l'espressione regolare. Ad esempio, se si crea un'espressione regolare per cercare indirizzi e-mail validi, creare alcune variabili String contenenti indirizzi e-mail validi e non validi:
    var goodEmail:String = "bob@example.com";
    var badEmail:String = "5@$2.99";
    
  6. Aggiungere righe di codice per provare le variabili String e stabilire se corrispondono al modello dell'espressione regolare. Questi sono i valori che verranno visualizzati sullo schermo utilizzando la funzione trace() oppure mediante la scrittura in un campo di testo sullo stage.
    trace(goodEmail, " is valid:", pattern.test(goodEmail));
    trace(badEmail, " is valid:", pattern.test(badEmail));
    

    Ad esempio, supponendo che pattern definisca il modello dell'espressione regolare per un indirizzo e-mail valido, le righe di codice precedenti scrivono nel pannello Output il testo seguente:

    bob@example.com is valid: true
    5@$2.99 is valid: false
    

    Per ulteriori informazioni su come provare i valori scrivendoli in un'istanza di campo di testo sullo stage oppure utilizzando la funzione trace() per stamparli nel pannello Output, vedere Prova degli esempi di codice contenuti nei capitoli.


Flash CS3

 

Inviami un messaggio e-mail quando vengono aggiunti dei commenti a questa | Rapporto sui commenti

Pagina corrente: http://livedocs.adobe.com/flash/9.0_it/main/00000111.html