Pesquisar texto com expressões regulares
As expressões regulares são notação concisa e flexível para pesquisa e substituição de padrões de texto. Um conjunto específico de expressões regulares pode ser usado no campo Localizar da caixa de diálogo Localizar e Substituir do SQL Server Management Studio.
Para fazer localização usando expressões regulares
Para habilitar o uso de expressões regulares no campo Localizar durante as operações QuickFind, FindinFiles, Substituição Rápida ou Substituir em Arquivos, selecione a opção Usar em Opções de Localização e escolha Expressões regulares.
O botão triangular Lista de Referências próximo ao campo Localizar torna-se disponível. Clique no botão para exibir uma lista das expressões regulares usadas frequentemente. Quando você seleciona qualquer item do Construtor de Expressões, o item é inserido na cadeia de caracteres Localizar .
Observação
Há diferenças de sintaxe entre as expressões regulares que podem ser usadas em cadeias de caracteres Localizar e aquelas que são válidas na programação do Microsoft .NET Framework. Por exemplo, em Localizar e Substituira notação de chaves {} é usada para expressões marcadas. Então a expressão "zo {1}" corresponde a todas as ocorrências de "zo" seguidas pela marca 1, como em "Alonzo1" e "Gonzo1". Entretanto, dentro do .NET Framework, a notação {} é usada para quantificadores. Então a expressão "zo{1}" corresponde a todas as ocorrências de "z" seguidas exatamente por um “o”, como em "zone" e não "zoo".
A tabela a seguir descreve as expressões regulares disponíveis na Lista de Referências.
Expression | Sintaxe | Descrição |
---|---|---|
Qualquer caractere | . | Faz a correspondência de qualquer caractere único menos uma quebra de linha. |
Zero ou mais | * | Faz a correspondência de zero ou mais ocorrências da expressão precedente, com todas as correspondentes possíveis. |
Um ou mais | + | Faz a correspondência de pelo menos uma ocorrência da expressão precedente. |
Início de linha | ^ | Ancora a cadeia de caracteres correspondente ao início de uma linha. |
Término de linha | $ | Ancora a cadeia de caracteres correspondente ao fim de uma linha. |
Início de uma palavra | < | Faz a correspondência apenas quando uma palavra começar neste ponto do texto. |
Término de palavra | > | Faz a correspondência só quando uma palavra terminar neste ponto do texto. |
Quebra de linha | \n | Faz a correspondência a uma quebra de linha independente de plataforma. Em uma expressão de substituição, insere uma quebra de linha. |
Qualquer caractere no conjunto | [] | Faz a correspondência de qualquer um dos caracteres dentro de []. Para especificar um intervalo de caracteres, relacione o caractere de início e término separado por um traço (-), como em [a-z]. |
Qualquer caractere que não faz parte do conjunto | [^...] | Faz a correspondência de qualquer caractere que não pertence ao conjunto de caracteres depois de ^. |
Ou | | | Faz a correspondência da expressão antes ou depois do símbolo OR (|). Usada principalmente dentro de grupos. Por exemplo, banho (esponja|lama) corresponde a "banho de esponja" e "banho de lama." |
Escape | |Faz a correspondência do caractere que segue a barra invertida (\) como um literal. Isso permite que você encontre os caracteres usados em notação de expressão regular, como { e ^. Por exemplo, \^ pesquisa pelo caractere ^. | |
Expressão marcada | {} | Corresponde o texto marcado com a expressão anexada. |
Identificador do C/C++ | :i | Faz a correspondência da expressão ([a-zA-Z_$][a-zA-Z0-9_$]*). |
Cadeia de caracteres entre aspas | :q | Faz a correspondência da expressão (("[^"]*")|('[^']*')). |
Espaço ou tabulação | :b | Faz a correspondência de caracteres de espaço ou de tabulação. |
Integer | :z | Faz a correspondência da expressão ([0-9]+). |
A lista de todas as expressões regulares válidas em operações Localizar e Substituir é mais longa do que pode ser exibido na Lista de Referências. Você também pode inserir qualquer uma das seguintes expressões regulares em uma cadeia de caracteres Localizar :
Expression | Sintaxe | Descrição |
---|---|---|
Mínimo – zero ou mais | @ | Faz a correspondência de zero ou mais ocorrências da expressão precedente, correspondendo o mínimo de caracteres possível. |
Mínimo – um ou mais | # | Faz a correspondência de uma ou mais ocorrências da expressão precedente, correspondendo o mínimo de caracteres possível. |
Repetir n vezes | ^n | Faz a correspondência de n ocorrências da expressão precedente. Por exemplo, [0-9]^4 corresponde a qualquer sequência de quatro dígitos. |
Agrupamento | () | Agrupa uma subexpressão. |
Enésimo texto marcado | \n | Em uma expressão Localizar e Substituir , indica o texto correspondente da enésima expressão marcada, em que n é um número de 1 a 9. Em uma expressão Substituir , \0 insere o texto inteiro correspondente. |
Campo justificado à direita | \(w,n) | Em uma expressão Substituir , justifica a enésima expressão marcada à direita em um campo de, pelo menos, w caracteres de largura. |
Campo justificado à esquerda | \(-w,n) | Em uma expressão Substituir , justifica a enésima expressão marcada à esquerda em um campo de, pelo menos, w caracteres de largura. |
Evitar correspondência | ~(X) | Evita a correspondência quando X é exibido em um certo ponto da expressão. Por exemplo, real~(ity) faz a correspondência de "real" em "realty" e "really", mas não "real" em "reality". |
Caractere alfanumérico | :a | Faz a correspondência da expressão ([a-zA-Z0-9]). |
Caractere alfabético | :c | Faz a correspondência da expressão ([a-zA-Z]). |
Dígito decimal | :d | Faz a correspondência da expressão ([0-9]). |
Dígito hexadecimal | :h | Faz a correspondência da expressão ([0-9a-fA-F]+). |
Número racional | :n | Faz a correspondência da expressão (([0-9]+.[0-9]*)|([0-9]*.[0-9]+)|([0-9]+)). |
Cadeia de caracteres alfabéticos | :w | Faz a correspondência da expressão ([a-zA-Z]+). |
Escape | \e | Unicode U+001B. |
Sino | \g | Unicode U+0007. |
Backspace | \h | Unicode U+0008. |
Tab | \t | Faz a correspondência de um caractere de tabulação, Unicode U+0009. |
Caractere unicode | \x#### ou \u#### | Corresponde um caractere dado por valor Unicode onde #### são dígitos hexadecimais. Você pode especificar um caractere fora do Plano Multilíngue Básico (isto é, um substituto) com o ponto de código ISO 10646 ou com dois pontos de código Unicode que dão os valores do par de substitutos. |
A tabela a seguir relaciona a sintaxe para correspondência por propriedades de caracteres Unicode padrão. A abreviação de duas letras é igual à relacionada no banco de dados de propriedades de caractere Unicode. Elas podem ser especificadas como parte de um conjunto de caracteres. Por exemplo, a expressão [:Nd:Nl:No] faz a correspondência de qualquer tipo de dígito.
Expression | Sintaxe | Descrição |
---|---|---|
Letra maiúscula | :Lu | Faz a correspondência de qualquer letra maiúscula. Por exemplo, Luhe faz a correspondência de "The" mas não "the". |
Letra minúscula | :Ll | Faz a correspondência de qualquer letra minúscula. Por exemplo, Llhe faz a correspondência de "the" mas não "The". |
Tipo de letra de título | :Lt | Faz a correspondência de caracteres que combinam uma letra maiúscula com uma letra minúscula, como Nj e Dz. |
Letra de modificador | :Lm | Faz a correspondência de letras ou pontuação, como vírgulas, acento cruzado e aspas duplas, usados para indicar modificações na letra precedente. |
Outra letra | :Lo | Faz a correspondência de outras letras, como a letra gótica ahsa. |
Dígito decimal | :Nd | Faz a correspondência de dígitos decimais como 0-9 e seus equivalentes de largura total. |
Dígito de letra | :Nl | Faz a correspondência de dígitos de letra como numerais romanos e o número zero ideográfico. |
Outro dígito | :No | Faz a correspondência de outros dígitos, como o antigo número um itálico. |
Pontuação de abertura | :Ps | Faz a correspondência de pontuação aberta, como parênteses e colchetes de abertura. |
Pontuação de fechamento | :Pe | Faz a correspondência de pontuação fechada, como parênteses e colchetes de fechamento. |
Pontuação de aspas iniciais | :Pi | Faz a correspondência de aspas duplas iniciais. |
Pontuação de aspas finais | :Pf | Faz a correspondência de aspas simples e aspas duplas finais. |
Pontuação de traço | :Pd | Faz a correspondência de traço. |
Pontuação de conector | :Pc | Faz a correspondência de marca de sublinhado. |
Outra pontuação | :Po | Faz a correspondência de (,), ?, ", !, @, #, %, &, *, \, (:), (;), ', e /. |
Separador de espaço | :Zs | Faz a correspondência de espaços em branco. |
Separador de linha | :Zl | Faz a correspondência do caractere Unicode U+2028. |
Separador de parágrafo | :Zp | Faz a correspondência do caractere Unicode U+2029. |
Marca sem-espaçamento | :Mn | Faz a correspondência de marcas sem-espaçamento. |
Marca de combinação | :Mc | Faz a correspondência de marcas de combinação. |
Marca de circunscrição | :Me | Faz a correspondência de marcas de circunscrição. |
Símbolo matemático | :Sm | Faz a correspondência de +, =, ~, |, < e >. |
Símbolo de moeda | :Sc | Faz a correspondência de $ e outros símbolos de moeda. |
Símbolo de modificador | :Sk | Faz a correspondência de símbolos de modificador como acento circunflexo, acento grave e acento circunflexo invertido. |
Outro símbolo | :So | Faz a correspondência de outros símbolos, como o sinal de protegido por direitos autorais, o sinal de parágrafo e o sinal de grau. |
Outro controle | :Cc | Faz a correspondência de término de linha. |
Outro formato | :Cf | Caractere de controle de formatação como os caracteres de controle bidirecionais. |
Substituto | :Cs | Faz a correspondência de uma metade de um par de substituto. |
Outros de uso particular | :Co | Faz a correspondência de qualquer caractere da área de uso particular. |
Outro não atribuído | :Cn | Faz a correspondência de caracteres que não mapeiam um caractere Unicode. |
Além das propriedades de caracteres Unicode padrão, as propriedades adicionais a seguir podem ser especificadas como parte de um conjunto de caracteres.
Expression | Sintaxe | Descrição |
---|---|---|
Alpha | :Al | Faz a correspondência de qualquer caractere. Por exemplo: Alhe faz a correspondência de palavras como "The", "then", e "reached". |
Numérico | :Nu | Faz a correspondência de qualquer número ou dígito. |
Pontuação | :Pu | Faz a correspondência de qualquer marca de pontuação, como?, @, ' etc. |
Espaço em branco | :Wh | Faz a correspondência de todos os tipos de espaço em branco, inclusive espaços de publicação e ideográficos. |
Bidi | :Bi | Faz a correspondência de caracteres de scripts da direita para esquerda, como árabe e hebreu. |
Hangul | :Ha | Faz a correspondência de Hangul coreano e Jamos combinável. |
Hiragana | :Hi | Faz a correspondência de caracteres de hiragana. |
Katakana | :Ka | Faz a correspondência de caracteres de katakana. |
Han/Kanji/Ideográfico | :Id | Faz a correspondência de caracteres ideográficos, como Han e Kanji. |