Como pesquisar texto com expressões regulares
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)
As expressões regulares a seguir podem substituir caracteres ou dígitos no campo O que localizar da caixa de diálogo Localizar e Substituir do SQL Server Management Studio.
Pré-requisitos
Como habilitar expressões regulares
Veja abaixo as etapas para habilitar expressões regulares na pesquisa.
- Vá para Editar>Localização e Substituir>Localização Rápida.
- Ao lado da barra de pesquisa, selecione a seta para baixo >Localizar em arquivos.
- Na janela Localizar e Substituir, expanda Opções de localização e selecione Usar expressões regulares.
O botão triangular Construtor de Expressões próximo ao campo Localizar é disponibilizado. Selecione este botão para exibir uma lista das expressões regulares disponíveis. Quando você seleciona qualquer item do Construtor de Expressões, o item é inserido na cadeia de caracteres Localizar.
A tabela a seguir descreve algumas expressões regulares no Construtor de Expressões.
Expression | Descrição |
---|---|
. |
Encontrar a correspondência de um único caractere (exceto uma quebra de linha) |
.* |
Corresponder a qualquer caractere zero ou mais vezes |
.+ |
Corresponder a qualquer caractere uma ou mais vezes |
[abc] |
Corresponder a qualquer caractere no conjunto abc |
[^abc] |
Corresponder a qualquer caractere que não faz parte do conjunto abc |
\d |
Encontrar a correspondência de um caractere numérico |
(?([^\r\n])\s) |
Encontrar a correspondência de um caractere de espaço em branco |
\b |
Corresponder no início ou no fim da palavra |
^ |
Corresponder no início da linha |
.$ |
Corresponder a qualquer quebra de linha |
\w\r?\n |
Corresponder um caractere de palavra no final da linha |
(dog | cat) |
Capturar e numerar implicitamente a expressão dog | cat |
(?<pet>dog | cat) |
Capturar a subexpressão dog | cat e nomeá-la pet |
Exemplos
Alguns exemplos de uso de expressões regulares.
Exemplo 1: Localizar todas as instruções Select
Você quer localizar todas as instruções SELECT nos scripts SQL.
SELECT\s+.*\s+FROM
Explicação do exemplo 1
- SELECT\s+: corresponde à palavra SELECT seguida por um ou mais caracteres de espaço em branco.
- .*: corresponde a qualquer caractere (exceto terminadores de linha) zero ou mais vezes.
- \s+FROM: corresponde a um ou mais caracteres de espaço em branco seguidos pela palavra FROM.
Exemplo 2: Localizar procedimentos com padrões de nomenclatura específicos
Você quer localizar todos os procedimentos armazenados que começam com usp_ em seus scripts SQL.
CREATE\s+PROCEDURE\s+usp_[A-Za-z0-9_]+
Explicação do exemplo 2
- CREATE\s+PROCEDURE\s+: Corresponde às palavras CREATE PROCEDURE seguidas por um ou mais caracteres de espaço em branco.
- usp_: corresponde à cadeia de caracteres literal usp_.
- [A-Za-z0-9_]+: corresponde a um ou mais caracteres alfanuméricos ou sublinhados.
Exemplo 3: Localizar comentários em scripts SQL
Você quer identificar todos os comentários de linha única (começando com --) em seus scripts SQL.
--.*
Explicação do exemplo 3
- --: corresponde à cadeia de caracteres literal --.
- .*: corresponde a qualquer caractere (exceto terminadores de linha) zero ou mais vezes.
Exemplo 4: Localizar todas as declarações de atualização
Você quer localizar todas as declarações de atualização nos scripts SQL.
UPDATE\s+.*\s+SET
Explicação do exemplo 4
- UPDATE\s+: Corresponde à palavra UPDATE seguida por um ou mais caracteres de espaço em branco.
- .*: corresponde a qualquer caractere (exceto terminadores de linha) zero ou mais vezes.
- \s+SET: corresponde a um ou mais caracteres de espaço em branco seguidos pela palavra SET.
Exemplo 5: Localizar nomes de tabela em instruções DDL
Você quer extrair nomes de tabela de instruções CREATE TABLE em seus scripts SQL.
CREATE\s+TABLE\s+(\w+)
Explicação do exemplo 5
- CREATE\s+TABLE\s+: corresponde às palavras CREATE TABLE seguidas por um ou mais caracteres de espaço em branco.
- (\w+): corresponde a um ou mais caracteres de palavra (alfanuméricos e sublinhados) e os captura para extração.
Para obter mais exemplos, visite Expressões regulares no Visual Studio