Espressione regolare

Un'espressione regolare (o "regex") è un modello di ricerca usato per trovare uno o più caratteri all'interno di una stringa. Può trovare caratteri specifici, caratteri jolly e intervalli di caratteri. In origine, le espressioni regolari erano usate dalle utilità di Unix, come vi e grep. Tuttavia, oggi sono supportate da molte applicazioni per la modifica del codice e da molti programmi di elaborazione testi su diverse piattaforme. Le espressioni regolari possono essere usate anche nella maggior parte dei principali linguaggi di programmazione.

Un'espressione regolare può essere semplice quanto una stringa di base, come "app". La regex "app" troverebbe le stringhe contenenti le parole "apps", "applications" e "inapplicable". Un'espressione regolare può contenere anche caratteri di ancoraggio ("^" e "$"), usati per specificare rispettivamente l'inizio e la fine di una riga. Pertanto, la regex "^apps" troverebbe la stringa "apps are great", ma non troverebbe la stringa "I like apps."

Le espressioni regolari possono includere trattini, usati per trovare un intervallo di caratteri, ad esempio tutte le lettere minuscole. Per esempio, la regex "[a-z]" troverebbe "apps", ma non troverebbe le stringhe "Apps" o "123". La regex "[A-Za-z]" troverebbe "Apps" e "[0-9]" troverebbe "123". Un punto, che è il carattere jolly standard nelle espressioni regolari, può essere usato per trovare qualsiasi carattere (tranne un carattere di fine riga). Un punto seguito da un asterisco (.*) trova zero o più occorrenze, mentre un punto seguito da un segno più (.+) trova una o più occorrenze.

Cosa succede, quindi, se è necessario trovare una stringa contenente un trattino, un asterisco, un segno più o un carattere di ancoraggio? Questi caratteri possono essere inclusi in un modello di espressione regolare tramite il "carattere di escape", usando una barra rovesciata ("\"). Per esempio, per cercare "$0.99", la regex sarebbe simile a "\$0\.99". Le barre rovesciate vengono usate anche per cercare caratteri non stampabili. Per esempio, "\r" trova un ritorno a capo, "\n" trova una nuova riga e "\t" trova un carattere di tabulazione.

Sebbene creare un'espressione regolare di base non richieda molto impegno, scrivere una regex avanzata non è un compito facile. Anche i programmatori più esperti raramente riescono a scrivere correttamente espressioni regolari complesse al primo tentativo. Tuttavia, se usate correttamente, le espressioni regolari sono uno strumento potente per cercare, trovare e sostituire testo specifico.

Aggiornato August 19, 2013 da Per C.

quizMetti alla prova le tue conoscenze

An SLA may stand for a Software License Agreement or what?

A
System Load Agreement
0%
B
Service Level Agreement
0%
C
Separate Limited Agreement
0%
D
Scaling Legal Agremement
0%
Correct! Incorrect!     View the SLA definition.
More Quizzes →

Il dizionario informatico Tech Terms

La definizione di Espressione regolare in questa pagina è una definizione originale scritta dagli autori di TechTerms.com. Se desideri fare riferimento a questa pagina o citare questa definizione, utilizza la barra di citazione verde direttamente sotto la definizione.

Il nostro obiettivo è spiegare la terminologia informatica in modo semplice e comprensibile. Ci impegniamo per l'accuratezza e la semplicità in ogni definizione pubblicata. Se hai commenti o vuoi suggerire un nuovo termine tecnico, contattaci.

La newsletter di Tech Terms

Migliora le tue conoscenze tecniche con la nostra newsletter giornaliera o settimanale! Iscriviti oggi e ricevi nuovi termini e quiz nella tua casella di posta.

Iscriviti alla newsletter gratuita di TechTerms

Con quale frequenza desideri ricevere un'e-mail?

Puoi annullare l'iscrizione o modificare la frequenza in qualsiasi momento tramite i link presenti in ogni e-mail. Domande? Contattaci.

Nota: La newsletter viene inviata in inglese.