Condividi tramite


Come eseguire ricerche di testo con espressioni regolari

Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW)

Le espressioni regolari seguenti possono sostituire caratteri o cifre nel campo Trova della finestra di dialogo Trova e sostituisci di SQL Server Management Studio.

Prerequisiti

Come abilitare le espressioni regolari

Ecco i passaggi per abilitare le espressioni regolari nella ricerca.

  1. Passare a Modifica>ricerca e sostituzione>ricerca rapida.
  2. Accanto alla barra di ricerca selezionare la freccia giù>Trova nei file.
  3. Nella finestra Trova e sostituisci espandere Opzioni trova e selezionare Usa espressioni regolari.

Il pulsante Generatore di espressioni accanto al campo Trova quale campo diventa disponibile. Selezionare questo pulsante per visualizzare un elenco delle espressioni regolari disponibili. Ogni elemento selezionato in Generatore di espressioni viene inserito nella stringa Trova quale.

Nella seguente tabella vengono descritte alcune espressioni regolari nel Generatore di espressioni.

Expression Descrizione
. Trovare la corrispondenza con qualsiasi carattere singolo (tranne un'interruzione di riga)
.* Trovare la corrispondenza con qualsiasi carattere nessuna o più volte.
.+ Trovare la corrispondenza con qualsiasi carattere una o più volte.
[abc] Trovare la corrispondenza con qualsiasi carattere del set abc
[^abc] Trovare la corrispondenza con qualsiasi carattere non presente nel set abc
\d Trovare la corrispondenza con qualsiasi carattere numerico
(?([^\r\n])\s) Trovare la corrispondenza con qualsiasi carattere spazio vuoto
\b Trovare la corrispondenza all'inizio o alla fine della parola
^ Trovare la corrispondenza all'inizio della riga
.$ Trovare la corrispondenza con qualsiasi interruzione di riga
\w\r?\n Trovare la corrispondenza con un carattere di parola alla fine della riga
(dog | cat) Acquisire e numerare in modo implicito l'espressione dog | cat
(?<pet>dog | cat) Acquisire sottoespressione dog | cat e denominarla pet

Esempi

Alcuni esempi dell’uso di espressioni regolari.

Esempio 1: Ricerca di tutte le istruzioni Select

Si vogliono trovare tutte le istruzioni SELECT negli script SQL.

SELECT\s+.*\s+FROM

Spiegazione per l'esempio 1

  • SELECT\s+: corrisponde alla parola "SELECT" seguita da uno o più caratteri di spazio vuoto.
  • .*: corrisponde a qualsiasi carattere (ad eccezione dei caratteri di terminazione di riga) zero o più volte.
  • \s+FROM: corrisponde a uno o più caratteri di spazio vuoto seguiti dalla parola "FROM".

Esempio 2: Ricerca di procedure con modelli di denominazione specifici

Si vogliono trovare tutte le stored procedure che iniziano con "usp_" negli script SQL.

CREATE\s+PROCEDURE\s+usp_[A-Za-z0-9_]+

Spiegazione per l'esempio 2

  • CREATE\s+PROCEDURE\s+: corrisponde alle parole "CREATE PROCEDURE" seguite da uno o più spazi vuoti.
  • usp_: corrisponde alla stringa letterale "usp_".
  • [A-Za-z0-9_]+: corrisponde a uno o più caratteri alfanumerici o caratteri di sottolineatura.

Esempio 3: Ricerca di commenti negli script SQL

Si vogliono identificare tutti i commenti a riga singola (a partire da --) negli script SQL.

--.*

Spiegazione per l'esempio 3

  • --: corrisponde alla stringa letterale "--".
  • .*: corrisponde a qualsiasi carattere (ad eccezione dei caratteri di terminazione di riga) zero o più volte.

Esempio 4: Ricerca di tutte le istruzioni Update

Si vogliono trovare tutte le istruzioni UPDATE negli script SQL.

UPDATE\s+.*\s+SET

Spiegazione per l'esempio 4

  • UPDATE\s+: corrisponde alla parola "UPDATE" seguita da uno o più caratteri di spazio vuoto.
  • .*: corrisponde a qualsiasi carattere (ad eccezione dei caratteri di terminazione di riga) zero o più volte.
  • \s+SET: corrisponde a uno o più caratteri di spazio vuoto seguiti dalla parola "SET".

Esempio 5: ricerca di nomi di tabella nelle istruzioni DDL

Si vogliono estrarre i nomi di tabella dalle istruzioni CREATE TABLE negli script SQL.

CREATE\s+TABLE\s+(\w+)

Spiegazione per l'esempio 5

  • CREATE\s+TABLE\s+: corrisponde alle parole "CREATE TABLE" seguite da uno o più caratteri di spazio vuoto.
  • (\w+): trova una o più parole (alfanumerici e caratteri di sottolineatura) e le acquisisce per l'estrazione.