Compartilhar via


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.

  1. Vá para Editar>Localização e Substituir>Localização Rápida.
  2. Ao lado da barra de pesquisa, selecione a seta para baixo >Localizar em arquivos.
  3. 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.