Linguagem de expressões regulares - referência rápidaRegular Expression Language - Quick Reference

Uma expressão regular é um padrão ao qual o mecanismo de expressões regulares tenta corresponder no texto de entrada.A regular expression is a pattern that the regular expression engine attempts to match in input text. Um padrão consiste em um ou mais literais de caracteres, operadores ou constructos.A pattern consists of one or more character literals, operators, or constructs. Para ver uma breve introdução, confira Expressões regulares no .NET.For a brief introduction, see .NET Regular Expressions.

Cada seção desta referência rápida lista uma categoria específica de caracteres, operadores e constructos que você pode usar para definir expressões regulares:Each section in this quick reference lists a particular category of characters, operators, and constructs that you can use to define regular expressions:

Escapes de caracteresCharacter escapes
Classes de caracteresCharacter classes
ÂncorasAnchors
Constructos de agrupamentoGrouping constructs
QuantificadoresQuantifiers
Constructos de referência inversaBackreference constructs
Constructos de alternânciaAlternation constructs
SubstituiçõesSubstitutions
Opções de expressões regularesRegular expression options
Constructos diversosMiscellaneous constructs

Também fornecemos essas informações em dois formatos, que podem ser baixados e impressos para uma consulta simplificada:We’ve also provided this information in two formats that you can download and print for easy reference:

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

Escapes de caracteresCharacter Escapes

O caractere de barra invertida (\) em uma expressão regular indica que o próximo caractere é um caractere especial (conforme mostrado na tabela a seguir) ou se deve ser interpretado literalmente.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. Para obter mais informações, consulte Escapes de Caracteres.For more information, see Character Escapes.

Caractere com escapeEscaped character DescriçãoDescription PadrãoPattern CorrespondênciasMatches
\a Corresponde a um caractere de campainha, \u0007.Matches a bell character, \u0007. \a “\u0007” em “Error!”"\u0007" in "Error!" + "\u0007"+ '\u0007'
\b Em uma classe de caractere, corresponde a um backspace, \ u0008.In a character class, matches a backspace, \u0008. [\b]{3,} "\b\b\b\b" em "\b\b\b\b""\b\b\b\b" in "\b\b\b\b"
\t Corresponde a uma tabulação, \u0009.Matches a tab, \u0009. (\w+)\t “item1\t”, “item2\t” em “item1\titem2\t”"item1\t", "item2\t" in "item1\titem2\t"
\r Corresponde a um retorno de carro, \u000D.Matches a carriage return, \u000D. (\r não é equivalente ao caractere newline, \n.)(\r is not equivalent to the newline character, \n.) \r\n(\w+) “\r\nThese” em “\r\nThese are\ntwo lines.”"\r\nThese" in "\r\nThese are\ntwo lines."
\v Corresponde a uma tabulação vertical, \u000B.Matches a vertical tab, \u000B. [\v]{2,} "\v\v\v" em "\v\v\v""\v\v\v" in "\v\v\v"
\f Corresponde a um avanço de página, \u000C.Matches a form feed, \u000C. [\f]{2,} “\f\f\f” em “\f\f\f”"\f\f\f" in "\f\f\f"
\n Corresponde a uma nova linha, \u000A.Matches a new line, \u000A. \r\n(\w+) “\r\nThese” em “\r\nThese are\ntwo lines.”"\r\nThese" in "\r\nThese are\ntwo lines."
\e Corresponde a um escape, \u001B.Matches an escape, \u001B. \e “\x001B” em “\x001B”"\x001B" in "\x001B"
\ nnn\ nnn Usa representação octal para especificar um caractere (nnn consiste em dois ou três dígitos).Uses octal representation to specify a character (nnn consists of two or three digits). \w\040\w "a b", "c d" em"a b", "c d" in

"a bc d""a bc d"
\x nn\x nn Usa representação hexadecimal para especificar um caractere (nn consiste exatamente em dois dígitos).Uses hexadecimal representation to specify a character (nn consists of exactly two digits). \w\x20\w "a b", "c d" em"a b", "c d" in

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

\c x\c x
Corresponde ao caractere de controle ASCII especificado por X ou x, em que X ou x é a letra do caractere de controle.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” em “\x0003” (Ctrl-C)"\x0003" in "\x0003" (Ctrl-C)
\u nnnn\u nnnn Corresponde a um caractere Unicode usando representação hexadecimal (exatamente quatro dígitos, como representado por nnnn).Matches a Unicode character by using hexadecimal representation (exactly four digits, as represented by nnnn). \w\u0020\w "a b", "c d" em"a b", "c d" in

"a bc d""a bc d"
\ Quando seguido por um caractere que não é reconhecido como um caractere de escape nesta e em outras tabelas deste tópico, corresponde a esse caractere.When followed by a character that is not recognized as an escaped character in this and other tables in this topic, matches that character. Por exemplo, \* é igual a \x2A, e \. é igual a \x2E.For example, \* is the same as \x2A, and \. is the same as \x2E. Isso permite que o mecanismo de expressões regulares remova ambiguidades de elementos da linguagem (como * ou ?) e caracteres literais (representados por \* ou \?).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" em "(2+2) * 3*9""2+2" and "3*9" in "(2+2) * 3*9"

Voltar ao inícioBack to top

Classes de caracteresCharacter Classes

Uma classe de caractere corresponde a qualquer um dos conjuntos de caracteres.A character class matches any one of a set of characters. As classes de caracteres incluem os elementos de linguagem listados na tabela a seguir.Character classes include the language elements listed in the following table. Para saber mais, confira Classes de caracteres.For more information, see Character Classes.

Classe de caractereCharacter class DescriçãoDescription PadrãoPattern CorrespondênciasMatches
[ character_group ][ character_group ] Corresponde a qualquer caractere único em character_group.Matches any single character in character_group. Por padrão, a correspondência diferencia maiúsculas de minúsculas.By default, the match is case-sensitive. [ae] “a” em “gray”"a" in "gray"

“a”, “e” em “lane”"a", "e" in "lane"
[^ character_group ][^ character_group ] Negação: corresponde a qualquer caractere único que não esteja em character_group.Negation: Matches any single character that is not in character_group. Por padrão, caracteres em character_group diferenciam maiúsculas de minúsculas.By default, characters in character_group are case-sensitive. [^aei] “r”, “g”, “n” em “reign”"r", "g", "n" in "reign"
[ first - last ][ first - last ] Intervalo de caracteres: corresponde a qualquer caractere único no intervalo entre first e last.Character range: Matches any single character in the range from first to last. [A-Z] “A”, “B” em “AB123”"A", "B" in "AB123"
. Curinga: corresponde a qualquer caractere único, exceto \n.Wildcard: Matches any single character except \n.

Para corresponder a um caractere literal de ponto (.To match a literal period character (. ou \u002E), você deve precedê-lo com o caractere de escape (\.).or \u002E), you must precede it with the escape character (\.).
a.e "ave" em "nave""ave" in "nave"

"ate" em "water""ate" in "water"
\p{ name }\p{ name } Corresponde a qualquer caractere único na categoria geral Unicode ou no bloco nomeado especificado por name.Matches any single character in the Unicode general category or named block specified by name. \p{Lu}

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

"Д", "Ж" em "ДЖem""Д", "Ж" in "ДЖem"
\P{ name }\P{ name } Corresponde a qualquer caractere único que não esteja na categoria geral Unicode ou no bloco nomeado especificado por name.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" em "City""i", "t", "y" in "City"

"e", "m" em "ДЖem""e", "m" in "ДЖem"
\w Corresponde a qualquer caractere de palavra.Matches any word character. \w “I”, “D”, “A”, “1”, “3” em “ID A1.3”"I", "D", "A", "1", "3" in "ID A1.3"
\W Corresponde a qualquer caractere que não seja uma palavra.Matches any non-word character. \W “ ”, “.” em “ID A1.3”" ", "." in "ID A1.3"
\s Corresponde a qualquer caractere de espaço em branco.Matches any white-space character. \w\s “D “ em “ID A1.3”"D " in "ID A1.3"
\S Corresponde a qualquer caractere que não seja um caractere de espaço em branco.Matches any non-white-space character. \s\S " " em "int __ctr"" " in "int __ctr"
\d Corresponde a qualquer dígito decimal.Matches any decimal digit. \d “4” em “4 = IV”"4" in "4 = IV"
\D Corresponde a qualquer caractere que não seja um dígito decimal.Matches any character other than a decimal digit. \D “ ”, “=”, “ ”, “I”, “V” em “4 = IV”" ", "=", " ", "I", "V" in "4 = IV"

Voltar ao inícioBack to top

ÂncorasAnchors

Âncoras ou asserções atômicas de largura zero, fazem com que uma correspondência tenha êxito ou falha dependendo da posição atual na cadeia de caracteres, mas não fazem com que o mecanismo avance na cadeia de caracteres ou consuma caracteres.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. Os metacaracteres listados na tabela a seguir são âncoras.The metacharacters listed in the following table are anchors. Para saber mais, confira Âncoras.For more information, see Anchors.

AsserçãoAssertion DescriçãoDescription PadrãoPattern CorrespondênciasMatches
^ Por padrão, a correspondência precisa começar no início da cadeia de caracteres. No modo multilinha, precisa começar no início da linha.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" em"901" in

"901-333-""901-333-"
$ Por padrão, a correspondência deve ocorrer no fim da cadeia de caracteres ou antes de \n no fim da cadeia de caracteres. No modo multilinha, deve antes do fim da linha ou antes de \n no fim da linha.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" em"-333" in

"-901-333""-901-333"
\A A correspondência deve ocorrer no início da cadeia de caracteres.The match must occur at the start of the string. \A\d{3} "901" em"901" in

"901-333-""901-333-"
\Z A correspondência deve ocorrer no final da cadeia de caracteres ou antes de \n no final da cadeia de caracteres.The match must occur at the end of the string or before \n at the end of the string. -\d{3}\Z "-333" em"-333" in

"-901-333""-901-333"
\z A correspondência deve ocorrer no final da cadeia de caracteres.The match must occur at the end of the string. -\d{3}\z "-333" em"-333" in

"-901-333""-901-333"
\G A correspondência deve ocorrer no ponto em que a correspondência anterior foi encerrada.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 A correspondência deve ocorrer em um limite entre um caractere \w (alfanumérico) e um caractere \W (não alfanumérico).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” em “them theme them them”"them theme", "them them" in "them theme them them"
\B A correspondência não deve ocorrer em um limite \b.The match must not occur on a \b boundary. \Bend\w*\b “ends”, “ender” em “end sends endure lender”"ends", "ender" in "end sends endure lender"

Voltar ao inícioBack to top

Agrupando construtoresGrouping Constructs

Os constructos de agrupamento delineiam subexpressões de uma expressão regular e, em geral, capturam subcadeias de caracteres de uma cadeia de caracteres de entrada.Grouping constructs delineate subexpressions of a regular expression and typically capture substrings of an input string. Os constructos de agrupamento incluem os elementos de linguagem listados na tabela a seguir.Grouping constructs include the language elements listed in the following table. Para saber mais, confira Constructos de agrupamento.For more information, see Grouping Constructs.

Constructo de agrupamentoGrouping construct DescriçãoDescription PadrãoPattern CorrespondênciasMatches
( subexpression )( subexpression ) Captura a subexpressão correspondente e atribui a ela um número ordinal com base um.Captures the matched subexpression and assigns it a one-based ordinal number. (\w)\1 “ee” em “deep”"ee" in "deep"
(?< nome > subexpressão )(?< name > subexpression ) Captura a subexpressão correspondente em um grupo nomeado.Captures the matched subexpression into a named group. (?<double>\w)\k<double> “ee” em “deep”"ee" in "deep"
(?< nome1 - nome2 > subexpressão )(?< name1 - name2 > subexpression ) Especifica uma definição de grupo de balanceamento.Defines a balancing group definition. Para saber mais, confira a seção "Definição de grupo de balanceamento" em Constructos de agrupamento.For more information, see the "Balancing Group Definition" section in Grouping Constructs. (((?'Open'\()[^\(\)]*)+((?'Close-Open'\))[^\(\)]*)+)*(?(Open)(?!))$ “((1-3)*(3-1))” em “3+2^((1-3)*(3-1))”"((1-3)*(3-1))" in "3+2^((1-3)*(3-1))"
(?: subexpression )(?: subexpression ) Define um grupo de não captura.Defines a noncapturing group. Write(?:Line)? "WriteLine" em "Console.WriteLine()""WriteLine" in "Console.WriteLine()"

"Write" em "Console.Write(value)""Write" in "Console.Write(value)"
(?imnsx-imnsx: subexpression )(?imnsx-imnsx: subexpression ) Aplica ou desabilita as opções especificadas em subexpressão.Applies or disables the specified options within subexpression. Para obter mais informações, consulte Opções de expressões regulares.For more information, see Regular Expression Options. A\d{2}(?i:\w+)\b “A12xl”, “A12XL” em “A12xl A12XL a12xl”"A12xl", "A12XL" in "A12xl A12XL a12xl"
(?= subexpression )(?= subexpression ) Asserções lookahead positivas de largura zero.Zero-width positive lookahead assertion. \w+(?=\.) “is”, “ran” e “out” em “He is."is", "ran", and "out" in "He is. The dog ran.The dog ran. The sun is out.”The sun is out."
(?! subexpression )(?! subexpression ) Asserções lookahead negativas de largura zero.Zero-width negative lookahead assertion. \b(?!un)\w+\b “sure”, “used” em “unsure sure unity used”"sure", "used" in "unsure sure unity used"
(?<= subexpression )(?<= subexpression ) Asserção lookbehind positiva de largura zero.Zero-width positive lookbehind assertion. (?<=19)\d{2}\b “99”, “50”, “05” em “1851 1999 1950 1905 2003”"99", "50", "05" in "1851 1999 1950 1905 2003"
(?<! subexpression )(?<! subexpression ) Asserção lookbehind negativa de largura zero.Zero-width negative lookbehind assertion. (?<!19)\d{2}\b “51”, “03” em “1851 1999 1950 1905 2003”"51", "03" in "1851 1999 1950 1905 2003"
(?> subexpression )(?> subexpression ) Subexpressão sem retrocesso (ou “Greedy”).Nonbacktracking (or "greedy") subexpression. [13579](?>A+B+) “1ABB”, “3ABB” e “5AB” em “1ABB 3ABBC 5AB 5AC”"1ABB", "3ABB", and "5AB" in "1ABB 3ABBC 5AB 5AC"

Voltar ao inícioBack to top

QuantificadoresQuantifiers

Um quantificador especifica quantas instâncias do elemento anterior (que pode ser um caractere, um grupo ou uma classe de caracteres) devem estar presentes na cadeia de caracteres de entrada para que uma correspondência ocorra.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. Os quantificadores incluem os elementos de linguagem listados na tabela a seguir.Quantifiers include the language elements listed in the following table. Para saber mais, confira Quantificadores.For more information, see Quantifiers.

QuantificadorQuantifier DescriçãoDescription PadrãoPattern CorrespondênciasMatches
* Corresponde ao elemento anterior zero ou mais vezes.Matches the previous element zero or more times. \d*\.\d “.0”, “19.9”, “219.9”".0", "19.9", "219.9"
+ Corresponde ao elemento anterior uma ou mais vezes.Matches the previous element one or more times. "be+" “bee” em “been”, “be” em “bent”"bee" in "been", "be" in "bent"
? Corresponde ao elemento anterior zero vezes ou uma vez.Matches the previous element zero or one time. "rai?n" “ran”, “rain”"ran", "rain"
{ n }{ n } Corresponde ao elemento anterior exatamente n vezes.Matches the previous element exactly n times. ",\d{3}" “.043” em “1.043.6”, “.876”, “.543” e “.210” em “9.876.543.210”",043" in "1,043.6", ",876", ",543", and ",210" in "9,876,543,210"
{ n ,}{ n ,} Corresponde ao elemento anterior pelo menos n vezes.Matches the previous element at least n times. "\d{2,}" “166”, “29”, “1930”"166", "29", "1930"
{ n , m }{ n , m } Corresponde ao elemento anterior pelo menos n vezes, mas não mais do que m vezes.Matches the previous element at least n times, but no more than m times. "\d{3,5}" "166", "17668""166", "17668"

"19302" em "193024""19302" in "193024"
*? Corresponde ao elemento anterior zero vezes ou mais, mas o menor número de vezes possível.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"
+? Corresponde ao elemento anterior uma ou mais vezes, mas o menor número de vezes possível.Matches the previous element one or more times, but as few times as possible. "be+?" "be" em "been", "be" em "bent""be" in "been", "be" in "bent"
?? Corresponde ao elemento anterior zero vezes ou uma vez, mas o menor número de vezes possível.Matches the previous element zero or one time, but as few times as possible. "rai??n" “ran”, “rain”"ran", "rain"
{ n }?{ n }? Corresponde ao elemento anterior exatamente n vezes.Matches the preceding element exactly n times. ",\d{3}?" “.043” em “1.043.6”, “.876”, “.543” e “.210” em “9.876.543.210”",043" in "1,043.6", ",876", ",543", and ",210" in "9,876,543,210"
{ n ,}?{ n ,}? Corresponde ao elemento anterior pelo menos n vezes, mas o menor número de vezes possível.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 }? Corresponde ao elemento anterior entre n e m vezes, mas o menor número de vezes possível.Matches the previous element between n and m times, but as few times as possible. "\d{3,5}?" "166", "17668""166", "17668"

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

Voltar ao inícioBack to top

Construtores de referência inversaBackreference Constructs

Um referência inversa permite que uma subexpressão correspondida anteriormente seja identificada posteriormente na mesma expressão regular.A backreference allows a previously matched subexpression to be identified subsequently in the same regular expression. A tabela a seguir lista os constructos de referência inversa tem suporte nas expressões regulares do .NET.The following table lists the backreference constructs supported by regular expressions in .NET. Para saber mais, confira Constructos de referência inversa.For more information, see Backreference Constructs.

Constructo de referência inversaBackreference construct DescriçãoDescription PadrãoPattern CorrespondênciasMatches
\ number\ number Referência inversa.Backreference. Corresponde ao valor de uma subexpressão numerada.Matches the value of a numbered subexpression. (\w)\1 “ee” em “seek”"ee" in "seek"
\k< name >\k< name > Referência inversa nomeada.Named backreference. Corresponde ao valor de uma expressão nomeada.Matches the value of a named expression. (?<char>\w)\k<char> “ee” em “seek”"ee" in "seek"

Voltar ao inícioBack to top

Construtores de alternânciaAlternation Constructs

Os constructos de alternância modificam uma expressão regular para habilitar uma correspondência do tipo um/ou outro.Alternation constructs modify a regular expression to enable either/or matching. Esses constructos incluem os elementos de linguagem listados na tabela a seguir.These constructs include the language elements listed in the following table. Para saber mais, confira Constructos de alternância.For more information, see Alternation Constructs.

Constructo de alternânciaAlternation construct DescriçãoDescription PadrãoPattern CorrespondênciasMatches
| Corresponde a qualquer elemento separado pelo caractere de barra vertical (|).Matches any one element separated by the vertical bar (|) character. th(e|is|at) “the”, “this” em “this is the day."the", "this" in "this is the day. ""
(?( expression ) yes | no )(?( expression ) yes | no ) Corresponde a yes se o padrão de expressão regular designado por expression for correspondente. Do contrário, corresponde à parte no opcional.Matches yes if the regular expression pattern designated by expression matches; otherwise, matches the optional no part. expression é interpretado como uma asserção de largura zero.expression is interpreted as a zero-width assertion. (?(A)A\d{2}\b|\b\d{3}\b) “A10”, “910” em “A10 C103 910”"A10", "910" in "A10 C103 910"
(?( name ) yes | no )(?( name ) yes | no ) Corresponde a yes se name, um grupo de captura nomeado ou numerado, apresenta uma correspondência. Do contrário, corresponde a no opcional.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” em “Dogs.jpg “Yiska playing.jpg””Dogs.jpg, "Yiska playing.jpg" in "Dogs.jpg "Yiska playing.jpg""

Voltar ao inícioBack to top

SubstituiçõesSubstitutions

As substituições são elementos de linguagem de expressões regulares com suporte em padrões de substituição.Substitutions are regular expression language elements that are supported in replacement patterns. Para saber mais, confira Substituições.For more information, see Substitutions. Os metacaracteres listados na tabela a seguir são asserções atômicas de largura zero.The metacharacters listed in the following table are atomic zero-width assertions.

CaractereCharacter DescriçãoDescription PadrãoPattern Padrão de substituiçãoReplacement pattern Cadeia de caracteres de entradaInput string Cadeia de caracteres de resultadoResult string
$ number$ number Substitui a subcadeia de caracteres correspondida pelo grupo number.Substitutes the substring matched by group number. \b(\w+)(\s)(\w+)\b $3$2$1 “one two”"one two" “two one”"two one"
${ name }${ name } Substitui a subcadeia de caracteres correspondida pelo grupo chamado name.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"
$$ Substitui um literal “$”.Substitutes a literal "$". \b(\d+)\s?USD $$$1 “103 USD”"103 USD" "$103""$103"
$& Substitui uma cópia da correspondência inteira.Substitutes a copy of the whole match. \$?\d*\.?\d+ **$&** "$1.30""$1.30" "**$1.30**""**$1.30**"
$` Substitui todo o texto da cadeia de caracteres de entrada antes da correspondência.Substitutes all the text of the input string before the match. B+ $` “AABBCC”"AABBCC" “AAAACC”"AAAACC"
$' Substitui todo o texto da cadeia de caracteres de entrada após a correspondência.Substitutes all the text of the input string after the match. B+ $' “AABBCC”"AABBCC" “AACCCC”"AACCCC"
$+ Substitui o último grupo que foi capturado.Substitutes the last group that was captured. B+(C+) $+ “AABBCCDD”"AABBCCDD" AACCDDAACCDD
$_ Substitui a cadeia de caracteres de entrada inteira.Substitutes the entire input string. B+ $_ “AABBCC”"AABBCC" “AAAABBCCCC”"AAAABBCCCC"

Voltar ao inícioBack to top

Opções de expressões regularesRegular Expression Options

Você pode especificar opções que controlam como o mecanismo de expressões regulares interpreta uma expressão regular padrão.You can specify options that control how the regular expression engine interprets a regular expression pattern. Muitas dessas opções podem ser especificadas de maneira embutida (no padrão da expressão regular) ou como uma ou mais constantes RegexOptions.Many of these options can be specified either inline (in the regular expression pattern) or as one or more RegexOptions constants. Essa referência rápida lista somente as opções embutidas.This quick reference lists only inline options. Para obter mais informações sobre opções embutidas e RegexOptions, consulte o artigo Opções de expressões regulares.For more information about inline and RegexOptions options, see the article Regular Expression Options.

É possível especificar uma opção embutida de duas formas:You can specify an inline option in two ways:

  • Usando o constructo diverso (?imnsx-imnsx), em que um sinal de subtração (-) antes de uma opção ou um conjunto de opções desativa essas opções.By using the miscellaneous construct (?imnsx-imnsx), where a minus sign (-) before an option or set of options turns those options off. Por exemplo, (?i-mn) ativa a correspondência sem diferenciação de maiúsculas e minúsculas (i), desativa o modo de várias linhas (m) e desativa capturas de grupo sem nome (n).For example, (?i-mn) turns case-insensitive matching (i) on, turns multiline mode (m) off, and turns unnamed group captures (n) off. A opção se aplica ao padrão de expressão regular no ponto em que a opção é definida e entra em vigor no final do padrão ou no ponto em que outro constructo inverte a opção.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 o construtor de agrupamento(?imnsx-imnsx:subexpression), que define opções somente para o grupo especificado.By using the grouping construct(?imnsx-imnsx:subexpression), which defines options for the specified group only.

O mecanismo de expressões regulares do .NET dá suporte às opções embutidas a seguir.The .NET regular expression engine supports the following inline options.

OpçãoOption DescriçãoDescription PadrãoPattern CorrespondênciasMatches
i Use correspondência sem diferenciação de maiúsculas e minúsculas.Use case-insensitive matching. \b(?i)a(?-i)a\w+\b “aardvark”, “aaaAuto” em “aardvark AAAuto aaaAuto Adam breakfast”"aardvark", "aaaAuto" in "aardvark AAAuto aaaAuto Adam breakfast"
m Use o modo multilinha.Use multiline mode. ^ e $ correspondem ao início e ao fim de uma linha, em vez do início e fim de uma cadeia de caracteres.^ and $ match the beginning and end of a line, instead of the beginning and end of a string. Para um exemplo, consulte a seção “Modo multilinha” em Opções de expressões regulares.For an example, see the "Multiline Mode" section in Regular Expression Options.
n Não capture grupos sem nome.Do not capture unnamed groups. Para ver um exemplo, consulte a seção “Apenas capturas explícitas” em Opções de expressões regulares.For an example, see the "Explicit Captures Only" section in Regular Expression Options.
s Use o modo de linha única.Use single-line mode. Para ver um exemplo, consulte a seção “Modo de linha única” em Opções de expressões regulares.For an example, see the "Single-line Mode" section in Regular Expression Options.
x Ignore espaços em branco sem escape no padrão da expressão regular.Ignore unescaped white space in the regular expression pattern. \b(?x) \d+ \s \w+ “1 aardvark”, “2 cats” em “1 aardvark 2 cats IV centurions”"1 aardvark", "2 cats" in "1 aardvark 2 cats IV centurions"

Voltar ao inícioBack to top

Diversos construtoresMiscellaneous Constructs

Os constructos diversos modificam um expressão regular padrão ou fornecem informações sobre ela.Miscellaneous constructs either modify a regular expression pattern or provide information about it. A tabela a seguir lista os constructos diversos que têm suporte no .NET.The following table lists the miscellaneous constructs supported by .NET. Para saber mais, confira Constructos diversos.For more information, see Miscellaneous Constructs.

ConstructoConstruct DefiniçãoDefinition ExemploExample
(?imnsx-imnsx) Define ou desabilita opções como não diferenciação de maiúsculas e minúsculas no meio de um padrão. Para saber mais, confira Opções de expressão regular.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 corresponde a "ABA", "Able" em "ABA Able Act"\bA(?i)b\w+\b matches "ABA", "Able" in "ABA Able Act"
(?# comment )(?# comment ) Comentário embutido.Inline comment. O comentário é encerrado no primeiro caractere de fechar parênteses.The comment ends at the first closing parenthesis. \bA(?#Matches words starting with A)\w+\b
# [até o final da linha]# [to end of line] Comentário do modo X.X-mode comment. O comentário começa em um # sem escape e continua até o final da linha.The comment starts at an unescaped # and continues to the end of the line. (?x)\bA\w+\b#Matches words starting with A

Consulte tambémSee Also

System.Text.RegularExpressions
Regex
Expressões regularesRegular Expressions
Classes de expressões regularesRegular Expression Classes
Exemplos de expressões regularesRegular Expression Examples
Expressões regulares - referência rápida (fazer download no formato Word)Regular Expressions - Quick Reference (download in Word format)
Expressões regulares - referência rápida (fazer download no formato PDF)Regular Expressions - Quick Reference (download in PDF format)