Espressioni regolari (Visual Studio)

Aggiornamento: novembre 2007

Le espressioni regolari costituiscono un metodo di notazione conciso e flessibile per criteri di ricerca e sostituzione di testo. È possibile utilizzare un insieme specifico di espressioni regolari nei campi Trova e Sostituisci della Finestra Trova e sostituisci quando si eseguono operazioni di tipo Ricerca veloce, Trova nei file, Sostituzione veloce o Sostituisci nei file.

Per attivare l'utilizzo delle espressioni regolari, espandere Opzioni di ricerca nella finestra Trova e sostituisci, selezionare l'opzione Uso, quindi scegliere Espressioni regolari. I pulsanti triangolari Generatore di espressioni accanto ai campi Trova e Sostituisci diventeranno disponibili. Scegliere questi pulsanti per visualizzare un elenco delle espressioni regolari usate più di frequente. Quando si fa clic su un'espressione regolare nell'elenco, questa viene inserita in corrispondenza della posizione del cursore nei campi Trova o Sostituisci. Quando si fa clic su Elenco caratteri completo nella parte inferiore di Generatore di espressioni, viene visualizzato un argomento della Guida contenente tutte le espressioni regolari riconosciute da Trova e sostituisci di Visual Studio. È possibile copiare un'espressione regolare riportata nell'argomento e incollarla nei campi°Trova°o Sostituisci con. 

Nota:

Esistono differenze di sintassi tra le espressioni regolari utilizzabili in Trova e Sostituisci e quelle valide nella programmazione con .NET Framework. In Trova e sostituisci, ad esempio, la notazione delle parentesi graffe {} viene utilizzata per le espressioni con tag e l'espressione zo{1} corrisponde a tutte le occorrenze di zo seguita dal tag 1, come in Alonzo1 e Gonzo1. Questa sintassi per le espressioni regolari differisce da quella di .NET Framework°in cui la notazione {} viene utilizzata per i quantificatori e l'espressione zo{1}°corrisponde a tutte le occorrenze di z seguita da una sola o, come in zone ma non in zoo.

Espressioni regolari per le operazioni Trova e Sostituisci

Di seguito sono riportate le espressioni regolari usate più di frequente disponibili nel Generatore di espressioni.

Espressione

Sintassi

Descrizione

Esempio

Qualsiasi carattere

.

Consente la ricerca di un carattere singolo, ad eccezione del carattere di interruzione riga.

a.o consente la ricerca di "aro" in "around" e "abo" in "about" ma non di "acro" in "across".

Zero o più

*

Consente di ricercare zero o più occorrenze dell'espressione precedente, consentendo tutte le corrispondenze possibili.

a*b consente di ricercare "b" in "bat" e "ab" in "about".

e. * e consente di ricercare la parola "enterprise".

Una o più

+

Consente la ricerca di almeno una o più occorrenze dell'espressione precedente.

ac+ consente di ricercare parole contenenti la lettera "a" e almeno un'istanza di "c", come "race" e "ace".

a.+s consente di ricercare la parola "access".

Inizio riga

^

Consente di vincolare la stringa di ricerca all'inizio di una riga.

^car consente di ricercare la parola "car" solo quando viene visualizzata come primo gruppo di caratteri in una riga dell'editor.

Fine riga

$

Consente di vincolare la stringa di ricerca alla fine di una riga.

end$ consente di ricercare la parola "end" solo quando viene visualizzata come ultimo gruppo di caratteri possibili alla fine di una riga nell'editor.

Inizio parola

<

Consente di trovare la corrispondenza solo quando una parola inizia in questo punto del testo.

<in consente di ricercare parole come "inside" e "into" che iniziano con le lettere "in".

Fine parola

>

Consente di trovare la corrispondenza solo quando una parola finisce nel punto specificato del testo.

ss > consente di ricercare parole come "accross" e "loss" che terminano con le lettere "ss".

Interruzione di riga

\n

Consente di ricercare un'interruzione di riga indipendente dal sistema operativo. In un'espressione di sostituzione, inserisce un'interruzione di riga.

End\nBegin consente di ricercare la parola "End" e "Begin" solo quando "End" è l'ultima stringa in una riga e "Begin è la prima stringa nella riga successiva.

In un'espressione di sostituzione

Begin\nEnd consente di sostituire la parola "End" con "Begin" sulla prima riga, inserire un'interruzione di riga e quindi sostituire la parola "Begin" con la parola "End".

Qualsiasi carattere nel gruppo

[]

Consente di ricercare qualsiasi carattere racchiuso tra []. Per specificare un intervallo di caratteri, immettere il carattere iniziale e quello finale separati da un trattino (-), ad esempio [a-z].

be[n-t] consente di ricercare "bet" in "between", "ben" in "beneath" e "bes" in "beside" ma non "bel" in "below".

Qualsiasi carattere esterno al gruppo

[^...]

Consente di ricercare qualsiasi carattere non specificato nel gruppo di caratteri che segue ^.

be[^n-t] consente di ricercare "bef" in "before", "beh" in "behind", e "bel" in "below", ma non "ben" in "beneath".

oppure

|

Consente di ricercare l'espressione specificata prima o dopo il simbolo OR (|). Viene generalmente utilizzata all'interno di un gruppo.

(sponge|mud) bath consente di ricercare "sponge bath" e "mud bath".

Escape

\

Consente di ricercare il carattere che segue la barra rovesciata (\) come valore letterale. In questo modo è possibile trovare caratteri che vengono utilizzati nella notazione delle espressioni regolari, ad esempio { e ^.

\^ consente di ricercare il carattere ^.

Espressione tagged

{}

Consente la ricerca di testo con tag con l'espressione racchiusa.

zo{1} consente di ricercare "zo1" in "Alonzo1" e "Gonzo1", ma non "zo" in "zone".

Identificatore C/C++

:i

Forma abbreviata dell'espressione ([a-zA-Z_$][a-zA-Z0-9_$]*).

Consente di ricercare qualsiasi possibile identificatore C/C++.

Stringa tra virgolette

:q

Forma abbreviata dell'espressione ((" [^"] *") | (' [^'] *')) che consente di ricercare qualsiasi carattere racchiuso tra virgolette doppie o singole e anche le virgolette stesse.

: q consente di cercare "test quote" e 'test quote' ma non la 't di can't.

Spazio o tabulatore

:b

Consente di ricercare i caratteri spazio o tabulatore.

Public:bInterface consente di ricercare la frase "Public Interface" nel testo.

Integer

:z

Forma abbreviata per l'espressione ([0-9] +) che consente di ricercare qualsiasi combinazione di caratteri numerici.

Consente di ricercare qualsiasi numero intero, ad esempio "1", "234", "56" e così via.

L'elenco di tutte le espressioni regolari valide nelle operazioni Trova e Sostituisci è più lungo rispetto a quello visualizzabile nel Generatore di espressioni. Anche se le espressioni regolari seguenti non sono visualizzate nel Generatore di espressioni, è possibile utilizzarle nei campi Trova o Sostituisci.

Espressione

Sintassi

Descrizione

Esempio

Minimo, zero o più occorrenze

@

Consente di ricercare zero o più occorrenze dell'espressione precedente, con il minor numero di caratteri corrispondenti possibile.

e.@e consente di ricercare "ente" e "erprise" in "enterprise", ma non la parola completa "enterprise".

Minimo, una o più occorrenze

#

Consente di ricercare una o più occorrenze dell'espressione precedente, con il minor numero di caratteri corrispondenti possibile.

ac# consente la ricerca di parole contenenti la lettera "a" e almeno un'istanza di "c", come "pace".

a.#s consente di ricercare "acces" nella parola "access".

Ripetere n volte

^n

Consente la ricerca di n occorrenze dell'espressione precedente.

[0-9]^4 consente di ricercare qualsiasi sequenza di 4 cifre.

Raggruppamento

()

Consente di raggruppare un gruppo di espressioni. Se si desidera cercare due espressioni diverse in un'unica ricerca, è possibile utilizzare l'espressione di raggruppamento per combinarle.

Se si desidera cercare - [a-z][1-3] o - [1-10][a-z], è necessario combinarle: ([a-z][1-3]) | ([1-10][a-z]).

Testo della n espressione tagged

\n

In un'espressione Trova o Sostituisci, indica il testo corrispondente alla n espressione con tag, dove n è un numero da 1 a 9.

In un'espressione di sostituzione, \0 inserisce la stringa completa di testo corrispondente.

Se si esegue la ricerca dell'espressione a{[0-9]} e la si sostituisce con \1, tutte le occorrenze di "a" seguite da una cifra vengono sostituite dalla cifra in questione. Ad esempio, "a1" viene sostituita da "1" e analogamente "a2" viene sostituita da "2".

Campo giustificato a destra

\(w,n)

In un'espressione Sostituisci, consente di giustificare a destra la n espressione tagged in un campo con una larghezza di almeno w caratteri.

Se si esegue la ricerca dell'espressione a{[0-9]} e la si sostituisce con \(10,1), le occorrenze di "an" vengono sostituite dal numero intero e giustificate a destra di 10 spazi.

Campo giustificato a sinistra

\(-w,n)

In un'espressione Sostituisci, consente di giustificare a sinistra la n espressione tagged in un campo con una larghezza di almeno w caratteri.

Se si esegue la ricerca dell'espressione a{[0-9]} e la si sostituisce con \(-10,1), le occorrenze di "an" vengono sostituite dal numero intero e giustificate a sinistra di 10 spazi.

Impedisci corrispondenza

~(X)

Consente di escludere una corrispondenza quando X si trova nel punto specificato dell'espressione.

real~(ity) consente di ricercare "real" in "realty" e "really" ma non "real" in "reality".

Carattere alfanumerico

:a

Corrisponde all'espressione ([a-zA-Z0-9]).

Consente di ricercare qualsiasi carattere alfanumerico, ad esempio "a", "A", "w", "W", "5" e così via.

Carattere alfabetico

:c

Corrisponde all'espressione ([a-zA-Z]).

Consente di ricercare qualsiasi carattere alfabetico, ad esempio "a", "A", "w", "W", "5" e così via.

Cifra decimale

:d

Corrisponde all'espressione ([0-9]+).

Consente di ricercare qualsiasi cifra, ad esempio "4" e "6".

Cifra esadecimale

:h

Corrisponde all'espressione ([0-9a-fA-F]+)..

Consente di ricercare qualsiasi numero esadecimale, ad esempio "1A", "ef" e "007".

Numero razionale

:n

Corrisponde all'espressione (([0-9]+.[0-9]*)|([0-9]*.[0-9]+)|([0-9]+)).

Consente di ricercare qualsiasi numero razionale, ad esempio "2007", "1.0" e ".9".

Stringa alfabetica

:w

Corrisponde all'espressione ([a-zA-Z]+).

Consente di ricercare qualsiasi stringa contenente solo caratteri alfabetici.

Escape

\e

Carattere Unicode U+001B.

Consente di ricercare il carattere di controllo "Escape".

Campana

\g

Carattere Unicode U+0007.

Consente di ricercare il carattere di controllo "Bell".

Backspace

\h

Carattere Unicode U+0008.

Consente di ricercare il carattere di controllo "Backspace".

Tab

\t

Carattere Unicode U+0009.

Corrisponde a un carattere di tabulazione.

Carattere Unicode

\x#### oppure \u####

Consente di ricercare un carattere corrispondente a un valore Unicode, dove #### è una cifra esadecimale. È possibile specificare un carattere non incluso nel Basic Multilingual Plane (ovvero un surrogato) tramite il punto di codice ISO 10646 o due punti di codice Unicode che forniscono i valori della coppia di surrogati.

\u0065 consente di ricercare il carattere "e."

Nella tabella seguente sono elencate le abbreviazioni a due lettere utilizzate per specificare le categorie generali elencate nel database delle proprietà dei caratteri Unicode. Queste abbreviazioni possono essere utilizzate come parte di un gruppo di caratteri delle espressioni regolari. Ad esempio, l'espressione [:Nd:Nl:No] corrisponde a qualsiasi tipo di cifra.

Per ulteriori informazioni sul database di proprietà dei caratteri Unicode, vedere Unicode Standard 5.0 Character Properties (informazioni in lingua inglese).

Espressione

Sintassi

Descrizione

Lettera maiuscola

:Lu

Consente di ricercare una qualsiasi lettera maiuscola.

Esempio:

:Luhe corrisponde a "The" ma non a "the".

Lettera minuscola

:Ll

Consente di ricercare una qualsiasi lettera minuscola.

Esempio:

:Llhe consente di ricercare "the" ma non "The".

Iniziale maiuscola

:Lt

Consente di ricercare le stringhe con una lettera maiuscola e una lettera minuscola, ad esempio Nj e Dz.

Lettera modificatore

:Lm

Consente di ricercare lettere o punteggiatura, come virgole, accenti incrociati e doppi apici, utilizzati per indicare modifiche alla lettera precedente.

Altra lettera

:Lo

Consente di ricercare altre lettere, come la lettera gotica ahsa.

Cifra decimale

:Nd

Consente di ricercare cifre decimali, ad esempio 0-9, e i relativi equivalenti a larghezza intera.

Cifra lettera

:Nl

Consente di ricercare cifre in lettere come i numeri romani e il numero zero ideografico.

Altra cifra

:No

Consente di ricercare altre cifre come il numero uno in lettere minuscole.

Punteggiatura di apertura

:Ps

Consente di ricercare segni di punteggiatura di apertura, ad esempio parentesi quadre aperte e parentesi graffe aperte.

Punteggiatura di chiusura

:Pe

Consente di ricercare segni di punteggiatura di chiusura, ad esempio parentesi quadre chiuse e parentesi graffe chiuse.

Virgolette iniziali

:Pi

Consente di ricercare virgolette doppie di apertura.

Virgolette finali

:Pf

Consente di ricercare le virgolette singole e doppie di chiusura.

Trattino

:Pd

Consente di ricercare il carattere trattino.

Punteggiatura di collegamento

:Pc

Consente di ricercare il carattere che rappresenta il trattino in basso o la sottolineatura.

Altra punteggiatura

:Po

Consente di ricercare i segni (,), ?, ", !, @, #, %, &, *, \, (:), (;), ' e /.

Spazio separatore

:Zs

Consente di ricercare gli spazi vuoti.

Separatore di riga

:Zl

Consente di ricercare il carattere Unicode U+2028.

Separatore di paragrafo

:Zp

Consente di ricercare il carattere Unicode U+2029.

Accenti e segni diacritici

:Mn

Consente di ricercare accenti e segni diacritici.

Segno di combinazione

:Mc

Consente di ricercare segni di combinazione.

Segno di inclusione

:Me

Consente di ricercare segni di inclusione.

Simbolo matematico

:Sm

Consente di ricercare i segni +, =, ~, |, < e >.

Simbolo di valuta

:Sc

Consente di ricercare il simbolo $ e altri simboli di valuta.

Simbolo modificatore

:Sk

Consente di ricercare simboli modificatori, come accenti circonflessi, accenti gravi e segni di lunga.

Altro simbolo

:So

Consente di ricercare altri simboli, come il simbolo di copyright e quello di grado.

Altro controllo

:Cc

Consente di ricercare caratteri di controllo Unicode, come TAB e NEWLINE.

Altro formato

:Cf

Consente di ricercare caratteri di controllo di formattazione, ad esempio i caratteri di controllo bidirezionali.

Surrogato

:Cs

Consente di ricercare una metà di una coppia di surrogati.

Altri caratteri privati

:Co

Consente di ricercare qualsiasi carattere appartenente all'area privata.

Altri caratteri non assegnati

:Cn

Consente di ricercare caratteri non associati a un carattere Unicode.

Oltre alle proprietà dei caratteri Unicode standard, è possibile specificare le proprietà aggiuntive elencate di seguito come parte di un gruppo di caratteri.

Espressione

Sintassi

Descrizione

Alfa

:Al

Consente di ricercare qualsiasi carattere.

:Alhe, ad esempio,consente di trovare parole come "The", "then" e "reached".

Numerico

:Nu

Consente di ricercare un numero o una cifra.

Punteggiatura

:Pu

Consente di ricercare qualsiasi segno di punteggiatura, ad esempio ?, @, ' e così via.

Spazio

:Wh

Consente di ricercare tutti i tipi di spazi, inclusi gli spazi di impaginazione e quelli ideografici.

Bidirezionale

:Bi

Consente di ricercare caratteri appartenenti a lingue con scrittura da destra a sinistra, come l'arabo e l'ebraico.

Hangul

:Ha

Consente di ricercare caratteri Hangul (coreano) e jamo combinati.

Hiragana

:Hi

Consente di ricercare caratteri hiragana.

Katakana

:Ka

Consente di ricercare caratteri katakana.

Ideogramma/Han/Kanji

:Id

Consente di ricercare caratteri ideografici, come i caratteri Han/Kanji.

Vedere anche

Riferimenti

Caratteri jolly (Visual Studio)

Finestre Ricerca veloce e Trova e sostituisci

Sostituzione veloce, finestra Trova e sostituisci

Finestre Cerca nei file e Trova e sostituisci

Finestre Sostituisci nei file e Trova e sostituisci

Comandi con argomenti di Visual Studio

Altre risorse

Ricerca e sostituzione