Linguaggio di espressioni regolari - Riferimento rapidoRegular Expression Language - Quick Reference

Un'espressione regolare è un modello per cui il motore delle espressioni regolari tenta di trovare una corrispondenza nel testo di input.A regular expression is a pattern that the regular expression engine attempts to match in input text. Un modello è costituito da uno o più i valori letterali carattere, operatori o costrutti.A pattern consists of one or more character literals, operators, or constructs. Per una breve introduzione, vedere Espressioni regolari di .NET.For a brief introduction, see .NET Regular Expressions.

In ogni sezione di questa guida di riferimento rapido viene elencata una categoria specifica di caratteri, operatori e costrutti che è possibile usare per definire le espressioni regolari:Each section in this quick reference lists a particular category of characters, operators, and constructs that you can use to define regular expressions:

Escape di caratteriCharacter escapes
Classi di caratteriCharacter classes
Punti di ancoraggioAnchors
Costrutti di raggruppamentoGrouping constructs
QuantificatoriQuantifiers
Costrutti di backreferenceBackreference constructs
Costrutti di alternanzaAlternation constructs
SostituzioniSubstitutions
Opzioni di espressioni regolariRegular expression options
Costrutti variMiscellaneous constructs

Queste informazioni sono disponibili in due formati scaricabili e stampabili come riferimento:We’ve also provided this information in two formats that you can download and print for easy reference:

Download in formato Word (.docx)Download in Word (.docx) format
Download in formato PDF (.pdf)Download in PDF (.pdf) format

Caratteri di escapeCharacter Escapes

Il carattere barra rovesciata (\) in un'espressione regolare indica che il carattere successivo è un carattere speciale (come illustrato nella tabella seguente) oppure deve essere interpretato letteralmente.The backslash character (\) in a regular expression indicates that the character that follows it either is a special character (as shown in the following table), or should be interpreted literally. Per altre informazioni, vedere Caratteri di escape.For more information, see Character Escapes.

Caratteri di escapeEscaped character DescrizioneDescription ModelloPattern CorrispondenzeMatches
\a Trova la corrispondenza di un carattere di controllo del segnale acustico di avviso, \u0007.Matches a bell character, \u0007. \a "\u0007" in "Error!""\u0007" in "Error!" + '\u0007'+ '\u0007'
\b In una classe di caratteri, trova la corrispondenza di un carattere backspace, \u0008.In a character class, matches a backspace, \u0008. [\b]{3,} "\b\b\b\b" in "\b\b\b\b""\b\b\b\b" in "\b\b\b\b"
\t Trova la corrispondenza di un carattere di tabulazione, \u0009.Matches a tab, \u0009. (\w+)\t "item1\t", "item2\t" in "item1\titem2\t""item1\t", "item2\t" in "item1\titem2\t"
\r Trova la corrispondenza di un carattere di ritorno a capo, \u000D.Matches a carriage return, \u000D. (\r non equivale al carattere di nuova riga, \n).(\r is not equivalent to the newline character, \n.) \r\n(\w+) "\r\nThese" in "\r\nThese are\ntwo lines.""\r\nThese" in "\r\nThese are\ntwo lines."
\v Trova la corrispondenza di un carattere di tabulazione verticale, \u000B.Matches a vertical tab, \u000B. [\v]{2,} "\v\v\v" in "\v\v\v""\v\v\v" in "\v\v\v"
\f Trova la corrispondenza di un carattere di avanzamento carta, \u000C.Matches a form feed, \u000C. [\f]{2,} "\f\f\f" in "\f\f\f""\f\f\f" in "\f\f\f"
\n Trova la corrispondenza di una nuova riga, \u000A.Matches a new line, \u000A. \r\n(\w+) "\r\nThese" in "\r\nThese are\ntwo lines.""\r\nThese" in "\r\nThese are\ntwo lines."
\e Trova la corrispondenza di un carattere di escape, \u001B.Matches an escape, \u001B. \e "\x001B" in "\x001B""\x001B" in "\x001B"
\ nnn\ nnn Usa la rappresentazione ottale per specificare un carattere (nnn è costituito da un massimo di tre cifre).Uses octal representation to specify a character (nnn consists of two or three digits). \w\040\w "a b", "c d" in"a b", "c d" in

"a bc d""a bc d"
\x nn\x nn Usa la rappresentazione esadecimale per specificare un carattere (nn è costituito da esattamente due cifre).Uses hexadecimal representation to specify a character (nn consists of exactly two digits). \w\x20\w "a b", "c d" in"a b", "c d" in

"a bc d""a bc d"
\c X\c X

\c x\c x
Trova la corrispondenza con il carattere di controllo ASCII specificato da X o x, dove X o x è la lettera del carattere di controllo.Matches the ASCII control character that is specified by X or x, where X or x is the letter of the control character. \cC "\x0003" in "\x0003" (Ctrl-C)"\x0003" in "\x0003" (Ctrl-C)
\u nnnn\u nnnn Trova la corrispondenza di un carattere Unicode usando una rappresentazione esadecimale (esattamente quattro cifre, come rappresentate da nnnn).Matches a Unicode character by using hexadecimal representation (exactly four digits, as represented by nnnn). \w\u0020\w "a b", "c d" in"a b", "c d" in

"a bc d""a bc d"
\ Quando è seguito da un carattere non riconosciuto come carattere di escape, in questa e in altre tabelle del presente argomento, trova la corrispondenza di tale carattere.When followed by a character that is not recognized as an escaped character in this and other tables in this topic, matches that character. Ad esempio, \* corrisponde a \x2Ae \. corrisponde a \x2E.For example, \* is the same as \x2A, and \. is the same as \x2E. Questo permette al motore delle espressioni regolari di distinguere tra elementi del linguaggio, ad esempio * o ? e valori letterali carattere, rappresentati da \* o \?.This allows the regular expression engine to disambiguate language elements (such as * or ?) and character literals (represented by \* or \?). \d+[\+-x\*]\d+ "2+2" e "3*9" in "(2+2) * 3*9""2+2" and "3*9" in "(2+2) * 3*9"

Torna all'inizioBack to top

Classi di caratteriCharacter Classes

Una classe di caratteri trova la corrispondenza con uno qualsiasi di un set di caratteri.A character class matches any one of a set of characters. Le classi di caratteri includono gli elementi del linguaggio elencati nella tabella seguente.Character classes include the language elements listed in the following table. Per altre informazioni, vedere Character Classes.For more information, see Character Classes.

Classe di caratteriCharacter class DescrizioneDescription ModelloPattern CorrispondenzeMatches
[ gruppo_caratteri ][ character_group ] Trova la corrispondenza con qualsiasi carattere singolo in gruppo_caratteri.Matches any single character in character_group. Per impostazione predefinita, viene effettuata la distinzione tra maiuscole e minuscole.By default, the match is case-sensitive. [ae] "a" in "gray""a" in "gray"

"a", "e" in "lane""a", "e" in "lane"
[^ gruppo_caratteri ][^ character_group ] Negazione: corrisponde a qualsiasi carattere singolo non incluso in gruppo_caratteri.Negation: Matches any single character that is not in character_group. Per impostazione predefinita, i caratteri in gruppo_caratteri rilevano la distinzione tra maiuscole e minuscole.By default, characters in character_group are case-sensitive. [^aei] "r", "g", "n" in "reign""r", "g", "n" in "reign"
[ primo - last ][ first - last ] Intervallo di caratteri: trova la corrispondenza di qualsiasi carattere singolo nell'intervallo da primo a ultimo.Character range: Matches any single character in the range from first to last. [A-Z] "A", "B" in "AB123""A", "B" in "AB123"
. Carattere jolly: trova la corrispondenza di qualsiasi carattere singolo ad eccezione di "\n".Wildcard: Matches any single character except \n.

Per confrontare un carattere punto di valore letterale (.To match a literal period character (. o \u002E), è necessario farlo precedere da un carattere di escape (\.).or \u002E), you must precede it with the escape character (\.).
a.e "ave" in "nave""ave" in "nave"

"ate" in "water""ate" in "water"
\p{ nome }\p{ name } Trova la corrispondenza con qualsiasi carattere singolo incluso nel blocco denominato o nella categoria generale Unicode specificato in nome.Matches any single character in the Unicode general category or named block specified by name. \p{Lu}

\p{IsCyrillic}
"C", "L" in "City Lights""C", "L" in "City Lights"

"Д", "Ж" in "ДЖem""Д", "Ж" in "ДЖem"
\P{ nome }\P{ name } Trova la corrispondenza di qualsiasi carattere singolo non incluso nel blocco denominato o nella categoria generale Unicode specificato in nome.Matches any single character that is not in the Unicode general category or named block specified by name. \P{Lu}

\P{IsCyrillic}
"i", "t", "y" in "City""i", "t", "y" in "City"

"e", "m" in "ДЖem""e", "m" in "ДЖem"
\w Trova la corrispondenza di qualsiasi carattere alfabetico.Matches any word character. \w "I", "D", "A", "1", "3" in "ID A1.3""I", "D", "A", "1", "3" in "ID A1.3"
\W Trova la corrispondenza di qualsiasi carattere non alfabetico.Matches any non-word character. \W " ", "." in "ID A1.3"" ", "." in "ID A1.3"
\s Trova la corrispondenza di qualsiasi carattere di spazio.Matches any white-space character. \w\s "D " in "ID A1.3""D " in "ID A1.3"
\S Trova la corrispondenza di qualsiasi carattere diverso da uno spazio.Matches any non-white-space character. \s\S " _" in "int __ctr"" _" in "int __ctr"
\d Trova la corrispondenza di qualsiasi cifra decimale.Matches any decimal digit. \d "4" in "4 = IV""4" in "4 = IV"
\D Trova la corrispondenza con qualsiasi carattere diverso da una cifra decimale.Matches any character other than a decimal digit. \D " ", "=", " ", "I", "V" in "4 = IV"" ", "=", " ", "I", "V" in "4 = IV"

Torna all'inizioBack to top

AncoraggiAnchors

Gli ancoraggi, o asserzioni atomiche di larghezza zero, determinano l'esito della ricerca di una corrispondenza in base alla posizione corrente nella stringa, ma non comportano l'avanzamento del motore nella stringa o l'utilizzo di caratteri.Anchors, or atomic zero-width assertions, cause a match to succeed or fail depending on the current position in the string, but they do not cause the engine to advance through the string or consume characters. I metacaratteri elencati nella tabella seguente sono ancoraggi.The metacharacters listed in the following table are anchors. Per altre informazioni, vedere Ancoraggi.For more information, see Anchors.

AsserzioneAssertion DescrizioneDescription ModelloPattern CorrispondenzeMatches
^ Per impostazione predefinita, la corrispondenza deve iniziare all'inizio della stringa; in modalità multiriga, deve iniziare all'inizio della riga.By default, the match must start at the beginning of the string; in multiline mode, it must start at the beginning of the line. ^\d{3} "901" in"901" in

"901-333-""901-333-"
$ Per impostazione predefinita, la corrispondenza deve verificarsi alla fine della stringa oppure prima di \n alla fine della stringa; in modalità multiriga, deve verificarsi prima della fine della riga oppure prima di \n alla fine della riga.By default, the match must occur at the end of the string or before \n at the end of the string; in multiline mode, it must occur before the end of the line or before \n at the end of the line. -\d{3}$ "-333" in"-333" in

"-901-333""-901-333"
\A La corrispondenza deve verificarsi all'inizio della stringa.The match must occur at the start of the string. \A\d{3} "901" in"901" in

"901-333-""901-333-"
\Z La corrispondenza deve verificarsi alla fine della stringa o prima di \n alla fine della stringa.The match must occur at the end of the string or before \n at the end of the string. -\d{3}\Z "-333" in"-333" in

"-901-333""-901-333"
\z La corrispondenza deve verificarsi alla fine della stringa.The match must occur at the end of the string. -\d{3}\z "-333" in"-333" in

"-901-333""-901-333"
\G La corrispondenza deve verificarsi nel punto in cui è terminata la corrispondenza precedente.The match must occur at the point where the previous match ended. \G\(\d\) "(1)", "(3)", "(5)" in "(1)(3)(5)[7](9)""(1)", "(3)", "(5)" in "(1)(3)(5)[7](9)"
\b La corrispondenza deve verificarsi sul limite tra un carattere \w (alfanumerico) e un carattere \W (non alfanumerico).The match must occur on a boundary between a \w (alphanumeric) and a \W (nonalphanumeric) character. \b\w+\s\w+\b "them theme", "them them" in "them theme them them""them theme", "them them" in "them theme them them"
\B La corrispondenza non deve verificarsi su un limite \b .The match must not occur on a \b boundary. \Bend\w*\b "ends", "ender" in "end sends endure lender""ends", "ender" in "end sends endure lender"

Torna all'inizioBack to top

Costrutti di raggruppamentoGrouping Constructs

I costrutti di raggruppamento delineano sottoespressioni di un'espressione regolare e in genere acquisiscono sottostringhe di una stringa di input.Grouping constructs delineate subexpressions of a regular expression and typically capture substrings of an input string. I costrutti di raggruppamento includono gli elementi del linguaggio elencati nella tabella seguente.Grouping constructs include the language elements listed in the following table. Per altre informazioni, vedere Grouping Constructs.For more information, see Grouping Constructs.

Costrutto di raggruppamentoGrouping construct DescrizioneDescription ModelloPattern CorrispondenzeMatches
( sottoespressione )( subexpression ) Acquisisce la sottoespressione corrispondente e le assegna un numero ordinale in base uno.Captures the matched subexpression and assigns it a one-based ordinal number. (\w)\1 "ee" in "deep""ee" in "deep"
(?< nome > sottoespressione )(?< name > subexpression ) Acquisisce la sottoespressione corrispondente in un gruppo denominato.Captures the matched subexpression into a named group. (?<double>\w)\k<double> "ee" in "deep""ee" in "deep"
(?< nome1 - nome2 > sottoespressione )(?< name1 - name2 > subexpression ) Definisce una definizione di gruppo di bilanciamentoDefines a balancing group definition. Per altre informazioni, vedere la sezione "Definizioni di gruppo di bilanciamento" in Grouping Constructs.For more information, see the "Balancing Group Definition" section in Grouping Constructs. (((?'Open'\()[^\(\)]*)+((?'Close-Open'\))[^\(\)]*)+)*(?(Open)(?!))$ "((1-3)*(3-1))" in "3+2^((1-3)*(3-1))""((1-3)*(3-1))" in "3+2^((1-3)*(3-1))"
(?: sottoespressione )(?: subexpression ) Definisce un gruppo di non acquisizione.Defines a noncapturing group. Write(?:Line)? "WriteLine" in "Console.WriteLine()""WriteLine" in "Console.WriteLine()"

"Write" in "Console.Write(value)""Write" in "Console.Write(value)"
(?imnsx-imnsx: sottoespressione )(?imnsx-imnsx: subexpression ) Applica o disabilita le opzioni specificate in sottoespressione.Applies or disables the specified options within subexpression. Per altre informazioni, vedere Regular Expression Options.For more information, see Regular Expression Options. A\d{2}(?i:\w+)\b "A12xl", "A12XL" in "A12xl A12XL a12xl""A12xl", "A12XL" in "A12xl A12XL a12xl"
(?= sottoespressione )(?= subexpression ) Asserzione lookahead positiva di larghezza zero.Zero-width positive lookahead assertion. \w+(?=\.) "is", "ran" e "out" in "He is."is", "ran", and "out" in "He is. The dog ran.The dog ran. The sun is out."The sun is out."
(?! sottoespressione )(?! subexpression ) Asserzione lookahead negativa di larghezza zero.Zero-width negative lookahead assertion. \b(?!un)\w+\b "sure", "used" in "unsure sure unity used""sure", "used" in "unsure sure unity used"
(?<= sottoespressione )(?<= subexpression ) Asserzione lookbehind positiva di larghezza zero.Zero-width positive lookbehind assertion. (?<=19)\d{2}\b "99", "50", "05" in "1851 1999 1950 1905 2003""99", "50", "05" in "1851 1999 1950 1905 2003"
(?<! sottoespressione )(?<! subexpression ) Asserzione lookbehind negativa di larghezza zero.Zero-width negative lookbehind assertion. (?<!19)\d{2}\b "51", "03" in "1851 1999 1950 1905 2003""51", "03" in "1851 1999 1950 1905 2003"
(?> sottoespressione )(?> subexpression ) Sottoespressione non di backtracking (o "greedy").Nonbacktracking (or "greedy") subexpression. [13579](?>A+B+) "1ABB", "3ABB" e "5AB" in "1ABB 3ABBC 5AB 5AC""1ABB", "3ABB", and "5AB" in "1ABB 3ABBC 5AB 5AC"

Torna all'inizioBack to top

QuantificatoriQuantifiers

Un quantificatore specifica il numero di istanze dell'elemento precedente, che può essere un carattere, un gruppo o una classe di caratteri, che devono essere presenti nella stringa di input affinché venga trovata una corrispondenza.A quantifier specifies how many instances of the previous element (which can be a character, a group, or a character class) must be present in the input string for a match to occur. I quantificatori includono gli elementi del linguaggio elencati nella tabella seguente.Quantifiers include the language elements listed in the following table. Per altre informazioni, vedere Quantifiers.For more information, see Quantifiers.

QuantificatoreQuantifier DescrizioneDescription ModelloPattern CorrispondenzeMatches
* Trova la corrispondenza dell'elemento precedente zero o più volte.Matches the previous element zero or more times. \d*\.\d ".0", "19.9", "219.9"".0", "19.9", "219.9"
+ Trova la corrispondenza dell'elemento precedente una o più volte.Matches the previous element one or more times. "be+" "bee" in "been", "be" in "bent""bee" in "been", "be" in "bent"
? Trova la corrispondenza con l'elemento precedente zero volte o una volta soltanto.Matches the previous element zero or one time. "rai?n" "ran", "rain""ran", "rain"
{ n }{ n } Trova la corrispondenza con l'elemento precedente esattamente n volte.Matches the previous element exactly n times. ",\d{3}" ",043" in "1,043.6", ",876", ",543" e ",210" in "9,876,543,210"",043" in "1,043.6", ",876", ",543", and ",210" in "9,876,543,210"
{ n ,}{ n ,} Trova la corrispondenza con l'elemento precedente almeno n volte.Matches the previous element at least n times. "\d{2,}" "166", "29", "1930""166", "29", "1930"
{ n , m }{ n , m } Trova la corrispondenza con l'elemento precedente almeno n volte, ma non più di m volte.Matches the previous element at least n times, but no more than m times. "\d{3,5}" "166", "17668""166", "17668"

"19302" in "193024""19302" in "193024"
*? Trova la corrispondenza dell'elemento precedente zero o più volte, ma il minor numero di volte possibile.Matches the previous element zero or more times, but as few times as possible. \d*?\.\d ".0", "19.9", "219.9"".0", "19.9", "219.9"
+? Trova la corrispondenza dell'elemento precedente una o più volte, ma il minor numero di volte possibile.Matches the previous element one or more times, but as few times as possible. "be+?" "be" in "been", "be" in "bent""be" in "been", "be" in "bent"
?? Trova la corrispondenza dell'elemento precedente zero volte o una volta, ma il minor numero di volte possibile.Matches the previous element zero or one time, but as few times as possible. "rai??n" "ran", "rain""ran", "rain"
{ n }?{ n }? Trova la corrispondenza con l'elemento precedente esattamente n volte.Matches the preceding element exactly n times. ",\d{3}?" ",043" in "1,043.6", ",876", ",543" e ",210" in "9,876,543,210"",043" in "1,043.6", ",876", ",543", and ",210" in "9,876,543,210"
{ n ,}?{ n ,}? Trova la corrispondenza dell'elemento precedente almeno n volte, ma il minor numero di volte possibile.Matches the previous element at least n times, but as few times as possible. "\d{2,}?" "166", "29", "1930""166", "29", "1930"
{ n , m }?{ n , m }? Trova la corrispondenza con l'elemento precedente tra n e m volte, ma il minor numero di volte possibile.Matches the previous element between n and m times, but as few times as possible. "\d{3,5}?" "166", "17668""166", "17668"

"193", "024" in "193024""193", "024" in "193024"

Torna all'inizioBack to top

Costrutti di backreferenceBackreference Constructs

Un backreference consente a una sottoespressione di cui è stata trovata la corrispondenza in precedenza di essere identificata successivamente nella stessa espressione regolare.A backreference allows a previously matched subexpression to be identified subsequently in the same regular expression. Nella tabella seguente sono elencati i costrutti di backreference supportati dalle espressioni regolari in .NET.The following table lists the backreference constructs supported by regular expressions in .NET. Per altre informazioni, vedere Backreference Constructs.For more information, see Backreference Constructs.

Costrutto di backreferenceBackreference construct DescrizioneDescription ModelloPattern CorrispondenzeMatches
\ numero\ number Backreference.Backreference. Trova la corrispondenza del valore di una sottoespressione numerata.Matches the value of a numbered subexpression. (\w)\1 "ee" in "seek""ee" in "seek"
\k< nome >\k< name > Backreference denominato.Named backreference. Trova la corrispondenza del valore di un'espressione denominata.Matches the value of a named expression. (?<char>\w)\k<char> "ee" in "seek""ee" in "seek"

Torna all'inizioBack to top

Costrutti di alternanzaAlternation Constructs

I costrutti di alternanza modificano un'espressione regolare per abilitare la corrispondenza di tipo either/or.Alternation constructs modify a regular expression to enable either/or matching. Questi costrutti includono gli elementi del linguaggio elencati nella tabella seguente.These constructs include the language elements listed in the following table. Per altre informazioni, vedere Alternation Constructs.For more information, see Alternation Constructs.

Costrutto di alternanzaAlternation construct DescrizioneDescription ModelloPattern CorrispondenzeMatches
| Trova la corrispondenza di qualsiasi elemento separato dal carattere di barra verticale (*|).Matches any one element separated by the vertical bar (|) character. th(e|is|at) "the", "this" in "this is the day."the", "this" in "this is the day. ""
(?( expression ) yes | no )(?( expression ) yes | no ) Corrisponde a yes se il criterio di espressione regolare definito da expression corrisponde. In caso contrario, corrisponde alla parte no facoltativa.Matches yes if the regular expression pattern designated by expression matches; otherwise, matches the optional no part. espressione è interpretata come asserzione di larghezza zero.expression is interpreted as a zero-width assertion. (?(A)A\d{2}\b|\b\d{3}\b) "A10", "910" in "A10 C103 910""A10", "910" in "A10 C103 910"
(?( name ) yes | no )(?( name ) yes | no ) Corrisponde a yes se nome, un gruppo di acquisizione denominato o numerato, dispone di una corrispondenza.In caso contrario, corrisponde al nofacoltativo.Matches yes if name, a named or numbered capturing group, has a match; otherwise, matches the optional no. (?<quoted>")?(?(quoted).+?"|\S+\s) Dogs.jpg, "Yiska playing.jpg" in "Dogs.jpg "Yiska playing.jpg""Dogs.jpg, "Yiska playing.jpg" in "Dogs.jpg "Yiska playing.jpg""

Torna all'inizioBack to top

SostituzioniSubstitutions

Le sostituzioni sono elementi del linguaggio di espressioni regolari supportati nei modelli di sostituzione.Substitutions are regular expression language elements that are supported in replacement patterns. Per altre informazioni, vedere Substitutions.For more information, see Substitutions. I metacaratteri elencati nella tabella seguente sono asserzioni atomiche di larghezza zero.The metacharacters listed in the following table are atomic zero-width assertions.

CarattereCharacter DescrizioneDescription ModelloPattern Modello di sostituzioneReplacement pattern Stringa di inputInput string Stringa di risultatoResult string
$ number$ number Sostituisce la sottostringa corrispondente al gruppo numero.Substitutes the substring matched by group number. \b(\w+)(\s)(\w+)\b $3$2$1 "one two""one two" "two one""two one"
${ nome }${ name } Sostituisce la sottostringa corrispondente al gruppo denominato nome.Substitutes the substring matched by the named group name. \b(?<word1>\w+)(\s)(?<word2>\w+)\b ${word2} ${word1} "one two""one two" "two one""two one"
$$ Sostituisce un valore letterale "$".Substitutes a literal "$". \b(\d+)\s?USD $$$1 "103 USD""103 USD" "$103""$103"
$& Sostituisce una copia dell'intera corrispondenza.Substitutes a copy of the whole match. \$?\d*\.?\d+ **$&** "$1.30""$1.30" "**$1.30**""**$1.30**"
$</code>|<span data-ttu-id="88dce-387">Sostituisce tutto il testo della stringa di input prima della corrispondenza.</span><span class="sxs-lookup"><span data-stu-id="88dce-387">Substitutes all the text of the input string before the match.</span></span>|B+|<code>$ "AABBCC""AABBCC" "AAAACC""AAAACC"
$' Sostituisce tutto il testo della stringa di input successiva alla corrispondenza.Substitutes all the text of the input string after the match. B+ $' "AABBCC""AABBCC" "AACCCC""AACCCC"
$+ Sostituisce l'ultimo gruppo acquisito.Substitutes the last group that was captured. B+(C+) $+ "AABBCCDD""AABBCCDD" AACCDDAACCDD
$_ Sostituisce l'intera stringa di input.Substitutes the entire input string. B+ $_ "AABBCC""AABBCC" "AAAABBCCCC""AAAABBCCCC"

Torna all'inizioBack to top

Opzioni di espressioni regolariRegular Expression Options

È possibile specificare opzioni che controllano il modo in cui il motore delle espressioni regolari interpreta un criterio di espressione regolare.You can specify options that control how the regular expression engine interprets a regular expression pattern. Molte di queste opzioni possono essere specificate inline (nel criterio di espressione regolare) o come uno o più costanti RegexOptions .Many of these options can be specified either inline (in the regular expression pattern) or as one or more RegexOptions constants. Questa guida di riferimento rapida elenca solo le opzioni inline.This quick reference lists only inline options. Per altre informazioni sulle opzioni inline e RegexOptions , vedere l'articolo Regular Expression Options.For more information about inline and RegexOptions options, see the article Regular Expression Options.

È possibile specificare un'opzione inline in due modi:You can specify an inline option in two ways:

  • Usando il costrutto vario (?imnsx-imnsx), dove un segno meno (-) prima di un'opzione o di un set di opzioni consente di disattivare tali opzioni.By using the miscellaneous construct (?imnsx-imnsx), where a minus sign (-) before an option or set of options turns those options off. Ad esempio, (?i-mn) attiva la non corrispondenza tra maiuscole e minuscole (i), disattiva la modalità su più righe (m) e disattiva le acquisizioni del gruppo senza nome (n).For example, (?i-mn) turns case-insensitive matching (i) on, turns multiline mode (m) off, and turns unnamed group captures (n) off. L'opzione si applica al criterio di espressione regolare dal punto in cui l'opzione viene definita e diventa effettiva sia alla fine del criterio sia al punto in cui un altro costrutto annulla l'opzione.The option applies to the regular expression pattern from the point at which the option is defined, and is effective either to the end of the pattern or to the point where another construct reverses the option.

  • Usando il grouping construct(?imnsx-imnsx:sottoespressione), che definisce le opzioni solo per il gruppo specificato.By using the grouping construct(?imnsx-imnsx:subexpression), which defines options for the specified group only.

Il motore delle espressioni regolari di .NET supporta le seguenti opzioni inline.The .NET regular expression engine supports the following inline options.

OpzioneOption DescrizioneDescription ModelloPattern CorrispondenzeMatches
i Usa la corrispondenza che non fa distinzione tra maiuscole e minuscole.Use case-insensitive matching. \b(?i)a(?-i)a\w+\b "aardvark", "aaaAuto" in "aardvark AAAuto aaaAuto Adam breakfast""aardvark", "aaaAuto" in "aardvark AAAuto aaaAuto Adam breakfast"
m Usare la modalità multiriga.Use multiline mode. ^ e $ corrispondono all'inizio e alla fine di una riga, anziché all'inizio e alla fine della stringa di input.^ and $ match the beginning and end of a line, instead of the beginning and end of a string. Ad esempio, vedere la sezione "Modalità multiriga" in Regular Expression Options.For an example, see the "Multiline Mode" section in Regular Expression Options.
n Non acquisire gruppi senza nome.Do not capture unnamed groups. Per un esempio, vedere la sezione "Solo acquisizioni esplicite" in Regular Expression Options.For an example, see the "Explicit Captures Only" section in Regular Expression Options.
s Usare la modalità a riga singola.Use single-line mode. Per un esempio, vedere la sezione "Modalità a riga singola" in Regular Expression Options.For an example, see the "Single-line Mode" section in Regular Expression Options.
x Ignorare gli spazi vuoti non di escape nel criterio di espressione regolare.Ignore unescaped white space in the regular expression pattern. \b(?x) \d+ \s \w+ "1 aardvark", "2 cats" in "1 aardvark 2 cats IV centurions""1 aardvark", "2 cats" in "1 aardvark 2 cats IV centurions"

Torna all'inizioBack to top

Costrutti variMiscellaneous Constructs

I costrutti vari consentono di modificare un criterio di espressione regolare o forniscono informazioni su di esso.Miscellaneous constructs either modify a regular expression pattern or provide information about it. Nella tabella seguente sono elencati i costrutti vari supportati da .NET.The following table lists the miscellaneous constructs supported by .NET. Per altre informazioni, vedere Miscellaneous Constructs.For more information, see Miscellaneous Constructs.

CostruttoConstruct DefinizioneDefinition EsempioExample
(?imnsx-imnsx) Imposta o disabilita opzioni come la distinzione tra maiuscole e minuscole nella parte centrale di un modello. Per altre informazioni, vedere Opzioni di espressioni regolari.Sets or disables options such as case insensitivity in the middle of a pattern.For more information, see Regular Expression Options. \bA(?i)b\w+\b trova la corrispondenza di "ABA", "Able" in "ABA Able Act"\bA(?i)b\w+\b matches "ABA", "Able" in "ABA Able Act"
(?# commento )(?# comment ) Commento inline.Inline comment. Il commento termina in corrispondenza della prima parentesi chiusa.The comment ends at the first closing parenthesis. \bA(?#Matches words starting with A)\w+\b
# [fino alla fine della riga]# [to end of line] Commento in modalità X.X-mode comment. Il commento inizia da un carattere # senza codice di escape e continua fino alla fine della riga.The comment starts at an unescaped # and continues to the end of the line. (?x)\bA\w+\b#Matches words starting with A

Vedere ancheSee also