Testo di ricerca con espressioni regolariSearch Text with Regular Expressions

Le espressioni regolari costituiscono un metodo di notazione conciso e flessibile per la ricerca e la sostituzione di testo che soddisfa determinati criteri.Regular expressions are a concise and flexible notation for finding and replacing patterns of text. È possibile utilizzare un set specifico di espressioni regolari nel campo Trova della finestra di dialogo SQL Server Management StudioSQL Server Management Studio di .A specific set of regular expressions can be used in the Find what field of the SQL Server Management StudioSQL Server Management Studio Find and Replace dialog box.

Per eseguire la ricerca utilizzando espressioni regolariTo find using regular expressions

  1. Per consentire l'uso di espressioni regolari nel campo Trova durante le operazioni Ricerca veloce, Cerca nei file, Sostituzione veloceo Sostituisci nei file , in Opzioni di ricerca selezionare Usae scegliere Espressioni regolari.To enable the use of regular expressions in the Find what field during QuickFind, FindinFiles, Quick Replace, or Replace in Files operations, select the Use option under Find Optionsand choose Regular expressions.

  2. Accanto al campo Trova viene reso disponibile il pulsante triangolare per l'elenco dei riferimenti.The triangular Reference List button next to the Find what field then becomes available. Fare clic su questo pulsante per visualizzare un elenco delle espressioni regolari più comuni.Click this button to display a list of the most commonly used regular expressions. Ogni elemento selezionato in Generatore di espressioni viene inserito nella stringa Trova .When you choose any item from the Expression Builder, it is inserted into the Find what string.

Nota

Le espressioni regolari che possono essere utilizzate nelle stringhe Trova presentano differenze sintattiche rispetto a quelle valide nella programmazione in MicrosoftMicrosoft .NET Framework.There are syntax differences between the regular expressions that can be used in Find what strings and those that are valid in MicrosoftMicrosoft .NET Framework programming. Poiché ad esempio in Trova e sostituiscila notazione con parentesi graffe {} viene utilizzata per le espressioni con tag,For example, in Find and Replace, the braces notation {} is used for tagged expressions. l'espressione "zo{1}" consente di trovare tutte le occorrenze di "zo" seguite dal tag 1, come "Pranzo1" e "Gonzo1".So the expression "zo{1}" matches all occurrences of "zo" followed by the tag 1, as in "Alonzo1" and "Gonzo1". In .NET Framework, tuttavia, la notazione {} viene utilizzata per i quantificatori.But within the .NET Framework, the notation {} is used for quantifiers. Pertanto l'espressione "zo{1}" consente di trovare tutte le occorrenze di "z" seguite da una sola "o", come in "zona", ma non in "zoo".So the expression "zo{1}" matches all occurrences of "z" followed by exactly one "o", as in "zone" but not "zoo".

Nella seguente tabella vengono descritte le espressioni regolari disponibili nell'elenco dei riferimenti.The following table describes the regular expressions available in the Reference List.

EspressioneExpression SintassiSyntax DescrizioneDescription
Qualsiasi carattereAny character .. Consente di ricercare un carattere qualsiasi, ad eccezione del carattere di interruzione riga.Matches any single character except a line break.
Zero o piùZero or more * Consente di ricercare zero o più occorrenze dell'espressione precedente, con il maggior numero di caratteri corrispondenti possibile.Matches zero or more occurrences of the preceding expression, making all possible matches.
Uno o piùOne or more + Consente di ricercare almeno un'occorrenza dell'espressione precedente.Matches at least one occurrence of the preceding expression.
Inizio rigaBeginning of line ^ Consente di vincolare la ricerca all'inizio di una riga.Anchors the match string to the beginning of a line.
Fine rigaEnd of line $ Consente di vincolare la ricerca alla fine di una riga.Anchors the match string to the end of a line.
Inizio parolaBeginning of word < Consente di trovare la corrispondenza solo quando una parola inizia nel punto specificato del testo.Matches only when a word begins at this point in the text.
Fine parolaEnd of word > Consente di trovare la corrispondenza solo quando una parola finisce nel punto specificato del testo.Matches only when a word ends at this point in the text.
Interruzione di rigaLine break \n Consente di ricercare un'interruzione di riga, indipendentemente dalla piattaforma.Matches a platform-independent line break. In un'espressione di sostituzione, inserisce un'interruzione di riga.In a Replace expression, inserts a line break.
Qualsiasi carattere del setAny one character in the set [][] Consente di ricercare qualsiasi carattere racchiuso tra [].Matches any one of the characters within the []. Per specificare un intervallo di caratteri, immettere il carattere iniziale e quello finale separati da un trattino (-), ad esempio [a-z].To specify a range of characters, list the starting and ending character separated by a dash (-), as in [a-z].
Qualsiasi carattere esterno al setAny one character not in the set [^...][^...] Consente di ricercare qualsiasi carattere non compreso nel set di caratteri che seguono il simbolo ^.Matches any character not in the set of characters following the ^.
OppureOr || Cerca l'espressione specificata prima o dopo il simbolo OR (|).Matches either the expression before or the one after the OR symbol (|). In genere viene utilizzata all'interno di un gruppo.Mostly used within a group. Ad esempio, (caffè|latte) macchiato corrisponde a "caffè macchiato" e "latte macchiato".For example, (sponge|mud) bath matches "sponge bath" and "mud bath."
Carattere speciale di escapeEscape |Cerca il carattere che segue la barra rovesciata (\) come valore letterale.Matches the character that follows the backslash (\) as a literal. Ciò consente di trovare caratteri utilizzati nella notazione delle espressioni regolari, quali { e ^.This allows you to find the characters used in regular expression notation, such as { and ^. Ad esempio, \^ consente di cercare il carattere ^.For example, \^ Searches for the ^ character.
Espressione tagTagged expression {}{} Consente di ricercare il testo con tag nell'espressione tra parentesi.Matches text tagged with the enclosed expression.
Identificatore C/C++C/C++ Identifier :i:i Corrisponde all'espressione ([a-zA-Z_$][a-zA-Z0-9_$]).Matches the expression ([a-zA-Z_$][a-zA-Z0-9_$]).
Stringa tra virgoletteQuoted string :q:q Cerca l'espressione (("[^"]")|('[^']*')).Matches the expression (("[^"]")|('[^']*')).
Spazio o tabulazioneSpace or Tab :b:b Consente di ricercare il carattere spazio o tabulazione.Matches either space or tab characters.
IntegerInteger :z:z Corrisponde all'espressione ([0-9]+).Matches the expression ([0-9]+).

Nell' elenco dei riferimenti non è possibile visualizzare tutte le espressioni regolari valide per le operazioni di ricerca e sostituzione.The list of all regular expressions that are valid in Find and Replace operations is longer than can be displayed in the Reference List. In una stringa Trova è possibile inserire anche le seguenti espressioni regolari:You can also insert any of the following regular expressions into a Find what string:

EspressioneExpression SintassiSyntax DescrizioneDescription
Minimo tra zero o più occorrenzeMinimal — zero or more @ Consente di ricercare zero o più occorrenze dell'espressione precedente, con il minor numero di caratteri corrispondenti possibile.Matches zero or more occurrences of the preceding expression, matching as few characters as possible.
Minimo tra una o più occorrenzeMinimal — one or more # Consente di ricercare una o più occorrenze dell'espressione precedente, con il minor numero di caratteri corrispondenti possibile.Matches one or more occurrences of the preceding expression, matching as few characters as possible.
n ripetizioniRepeat n times ^n Consente di ricercare n occorrenze dell'espressione precedente.Matches n occurrences of the preceding expression. Ad esempio, [0-9]^4 consente di ricercare qualsiasi sequenza di 4 cifre.For example, [0-9]^4 matches any 4-digit sequence.
RaggruppamentoGrouping ()() Consente di raggruppare una sottoespressione.Groups a subexpression.
ennesimo testo con tagnth tagged text \n In un'espressione Trova o Sostituisci indica il testo corrispondente all'ennesima espressione con tag, dove n è un numero da 1 a 9.In a Find or Replace expression, indicates the text matched by the nth tagged expression, where n is a number from 1 to 9.

In un'espressione di sostituzione \0 inserisce l'intero testo corrispondente.In a Replace expression, \0 inserts the entire matched text.
Campo giustificato a destraRight-justified field \(w,n)\(w,n) In un'espressione di sostituzione giustifica a destra l'ennesima espressione con tag in un campo di dimensioni di almeno w caratteri.In a Replace expression, right-justifies the nth tagged expression in a field at least w characters wide.
Campo giustificato a sinistraLeft-justified field \(-w,n)\(-w,n) In un'espressione di sostituzione giustifica a sinistra l'ennesima espressione con tag in un campo di dimensioni di almeno w caratteri.In a Replace expression, left-justifies the nth tagged expression in a field at least w characters wide.
Impedisci corrispondenzaPrevent match ~(X)~(X) Consente di escludere una corrispondenza quando X si trova nel punto specificato dell'espressione.Prevents a match when X appears at this point in the expression. Ad esempio, real~(tà) corrisponde a "real" in "realmente" e "realistico", ma non a "real" in "realtà".For example, real~(ity) matches the "real" in "realty" and "really," but not the "real" in "reality."
Carattere alfanumericoAlphanumeric character :a:a Corrisponde all'espressione ([a-zA-Z0-9]).Matches the expression ([a-zA-Z0-9]).
Carattere alfabeticoAlphabetic character :c:c Corrisponde all'espressione ([a-zA-Z]).Matches the expression ([a-zA-Z]).
Cifra decimaleDecimal digit :d:d Corrisponde all'espressione ([0-9]).Matches the expression ([0-9]).
Cifra esadecimaleHexadecimal digit :h:h Corrisponde all'espressione ([0-9a-fA-F]+).Matches the expression ([0-9a-fA-F]+).
Numero razionaleRational number :n:n Cerca l'espressione (([0-9]+.[0-9])|([0-9]*.[0-9]+)|([0-9]+)).Matches the expression (([0-9]+.[0-9])|([0-9]*.[0-9]+)|([0-9]+)).
Stringa alfabeticaAlphabetic string :w:w Corrisponde all'espressione ([a-zA-Z]+).Matches the expression ([a-zA-Z]+).
Carattere speciale di escapeEscape \e\e Carattere Unicode U+001B.Unicode U+001B.
CampanelloBell \g\g Carattere Unicode U+0007.Unicode U+0007.
BackspaceBackspace \h\h Carattere Unicode U+0008.Unicode U+0008.
SchedaTab \t\t Consente di ricercare un carattere di tabulazione, Unicode U+0009.Matches a tab character, Unicode U+0009.
carattere UnicodeUnicode character \x#### oppure \u####\x#### or \u#### Consente di ricercare un carattere corrispondente a un valore Unicode, dove #### è una cifra esadecimale.Matches a character given by Unicode value where #### is hexadecimal digits. È 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 surrogato.You can specify a character outside the Basic Multilingual Plane (that is, a surrogate) with the ISO 10646 code point or with two Unicode code points giving the values of the surrogate pair.

Nella tabella seguente viene descritta la sintassi per stabilire una corrispondenza attraverso le proprietà dei caratteri Unicode standard.The following table lists the syntax for matching by standard Unicode character properties. Le abbreviazioni di due lettere corrispondono a quelle indicate nel database delle proprietà dei caratteri UnicodeThe two-letter abbreviation is the same as listed in the Unicode character properties database. e possono essere specificate come parte di un set di caratteri.These may be specified as part of a character set. Ad esempio, l'espressione [:Nd:Nl:No] corrisponde a qualsiasi tipo di cifra.For example, the expression [:Nd:Nl:No] matches any kind of digit.

EspressioneExpression SintassiSyntax DescrizioneDescription
Lettera maiuscolaUppercase letter :Lu:Lu Consente di ricercare una qualsiasi lettera maiuscola.Matches any one upper case letter. Ad esempio, :Luli corrisponde a "Gli" ma non a "gli".For example, :Luhe matches "The" but not "the".
Lettera minuscolaLowercase letter :Ll:Ll Consente di ricercare una qualsiasi lettera minuscola.Matches any one lower case letter. Ad esempio, :Llli corrisponde a "gli" ma non a "Gli".For example, :Llhe matches "the" but not "The".
Iniziale maiuscolaTitle case letter :Lt:Lt Consente di ricercare le stringhe con una lettera maiuscola e una lettera minuscola, quali Nj e Dz.Matches characters that combine an uppercase letter with a lowercase letter, such as Nj and Dz.
Lettera modificatoreModifier letter :Lm:Lm Consente di ricercare lettere o punteggiatura, ad esempio virgole, accenti incrociati e doppi apici, utilizzati per indicare modifiche alla lettera precedente.Matches letters or punctuation, such as commas, cross accents, and double prime, used to indicate modifications to the preceding letter.
Altra letteraOther letter :Lo:Lo Consente di ricercare altre lettere, ad esempio la lettera gotica ahsa.Matches other letters, such as gothic letter ahsa.
Cifra decimaleDecimal digit :Nd:Nd Consente di ricercare cifre decimali, ad esempio 0-9, e i relativi equivalenti a larghezza intera.Matches decimal digits such as 0-9 and their full-width equivalents.
Cifra in lettereLetter digit :Nl:Nl Consente di ricercare cifre in lettere, ad esempio i numeri romani e il numero zero ideografico.Matches letter digits such as roman numerals and ideographic number zero.
Altra cifraOther digit :No:No Consente di ricercare altre cifre come numeri romani.Matches other digits such as old italic number one.
Punteggiatura di aperturaOpen punctuation :Ps:Ps Consente di ricercare segni di punteggiatura di apertura, ad esempio parentesi quadre aperte e parentesi graffe aperte.Matches opening punctuation such as open brackets and braces.
Punteggiatura di chiusuraClose punctuation :Pe:Pe Consente di ricercare segni di punteggiatura di chiusura, ad esempio parentesi quadre chiuse e parentesi graffe chiuse.Matches closing punctuation such as closing brackets and braces.
Virgolette inizialiInitial quote punctuation :Pi:Pi Consente di ricercare virgolette doppie di apertura.Matches initial double quotation marks.
Virgolette finaliFinal quote punctuation :Pf:Pf Consente di ricercare virgolette singole e virgolette doppie di chiusura.Matches single quotation marks and ending double quotation marks.
TrattinoDash punctuation :Pd:Pd Consente di ricercare il carattere trattino.Matches the dash mark.
Punteggiatura di collegamentoConnector punctuation :Pc:Pc Consente di ricercare il carattere di sottolineatura.Matches the underscore or underline mark.
Altra punteggiaturaOther punctuation :Po:Po Cerca (,), ?, ", !, @, #, %, &, *, \, (:), (;), ' e /.Matches (,), ?, ", !, @, #, %, &, *, \, (:), (;), ', and /.
Spazio separatoreSpace separator :Zs:Zs Consente di ricercare il carattere spazio.Matches blanks.
Separatore di rigaLine separator :Zl:Zl È consentito ricercare il carattere Unicode U+2028.Matches the Unicode character U+2028.
Separatore di paragrafoParagraph separator :Zp:Zp Consente di ricercare il carattere U+2029.Matches the Unicode character U+2029.
Accenti e segni diacriticiNon-spacing mark :Mn:Mn Consente di ricercare accenti e segni diacritici.Matches non-spacing marks.
Segno di combinazioneCombining mark :Mc:Mc Consente di ricercare segni di combinazione.Matches combining marks.
Segno di inclusioneEnclosing mark :Me:Me Consente di ricercare segni di inclusione.Matches enclosing marks.
Simbolo matematicoMath symbol :Sm:Sm Consente di ricercare +, =, ~, |, < e >.Matches +, =, ~, |, <, and >.
Simbolo di valutaCurrency symbol :Sc:Sc Consente di ricercare il simbolo $ e altri simboli di valuta.Matches $ and other currency symbols.
Simbolo modificatoreModifier symbol :Sk:Sk Consente di ricercare simboli modificatori, ad esempio accenti circonflessi, accenti gravi e macron.Matches modifier symbols such as circumflex accent, grave accent, and macron.
Altro simboloOther symbol :So:So Consente di ricercare altri simboli, ad esempio il simbolo di copyright, il simbolo di paragrafo e quello di grado.Matches other symbols, such as the copyright sign, the pilcrow sign, and the degree sign.
Altro controlloOther control :Cc:Cc Consente di ricercare il carattere di fine riga.Matches end of line.
Altro formatoOther format :Cf:Cf Consente di ricercare caratteri di controllo di formattazione, ad esempio i caratteri di controllo bidirezionali.Formatting control character such as the bi-directional control characters.
SurrogatoSurrogate :Cs:Cs Consente di ricercare una metà di una coppia surrogato.Matches one half of a surrogate pair.
Altri caratteri privatiOther private-use :Co:Co Consente di ricercare qualsiasi carattere appartenente all'area privata.Matches any character from the private-use area.
Altri caratteri non assegnatiOther not assigned :Cn:Cn Consente di ricercare caratteri senza mapping a un carattere Unicode.Matches characters that do not map to a Unicode character.

Oltre alle proprietà dei caratteri Unicode standard, è possibile specificare come parte di un set di caratteri le proprietà aggiuntive elencate di seguito.In addition to the standard Unicode character properties, the following additional properties may be specified as part of a character set.

EspressioneExpression SintassiSyntax DescrizioneDescription
AlphaAlpha :Al:Al Consente di ricercare qualsiasi carattere.Matches any one character. Ad esempio, :Alli consente di trovare parole come "Gli", "giglio" e "foglio".For example, :Alhe matches words such as "The", "then", and "reached".
NumericNumeric :Nu:Nu Consente di ricercare un numero o una cifra.Matches any one number or digit.
PunteggiaturaPunctuation :Pu:Pu Consente di ricercare qualsiasi segno di punteggiatura, ad esempio ?, @, ' e così via.Matches any one punctuation mark, such as ?, @, ', and so on.
SpazioWhite space :Wh:Wh Consente di ricercare tutti i tipi di spazi, inclusi gli spazi di impaginazione e quelli ideografici.Matches all types of white space, including publishing and ideographic spaces.
BidirezionaleBidi :Bi:Bi Consente di ricercare caratteri appartenenti a lingue con scrittura da destra a sinistra, come l'arabo e l'ebraico.Matches characters from right-to-left scripts such as Arabic and Hebrew.
HangulHangul :Ha:Ha Consente di ricercare caratteri Hangul (coreano) e jamo combinati.Matches Korean Hangul and combining Jamos.
HiraganaHiragana :Hi:Hi Consente di ricercare caratteri hiragana.Matches hiragana characters.
KatakanaKatakana :Ka:Ka Consente di ricercare caratteri katakana.Matches katakana characters.
Ideogramma/Han/KanjiIdeographic/Han/Kanji :Id:Id Consente di ricercare caratteri ideografici, come i caratteri Han e Kanji.Matches ideographic characters, such as Han and Kanji.

Vedere ancheSee Also

Ricerca e sostituzione Search and Replace
Testo di ricerca con caratteri jollySearch Text with Wildcards