Sdílet prostřednictvím


Jak hledat text pomocí regulárních výrazů

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Následující regulární výrazy mohou nahradit znaky nebo číslice v dialogovém okně Najít pole aplikace SQL Server Management Studio Najít a nahradit.

Požadavky

Jak povolit regulární výrazy

Tady jsou kroky pro povolení regulárních výrazů ve vyhledávání.

  1. Přejděte na Upravit>Najít a nahradit>Rychlé hledání.
  2. Vedle panelu hledání vyberte šipku dolů >Najít v souborech.
  3. V okně Najít a nahradit rozbalte možnosti Najít a vyberte Použít regulární výrazy.

Tlačítko Tvůrce výrazů vedle pole Najít co se pak stane dostupné. Výběrem tohoto tlačítka zobrazíte seznam dostupných regulárních výrazů. Když vyberete libovolnou položku z Tvůrce výrazů, vloží se do řetězce Najít co.

Následující tabulka popisuje některé regulární výrazy v Tvůrce výrazů.

Výraz Popis
. Porovná libovolný jeden znak (s výjimkou konce řádku)
.* Odpovídá libovolnému znaku, který se může opakovat nulakrát nebo vícekrát
.+ Odpovídá jakémukoli znaku jednou nebo vícekrát
[abc] Shoda libovolného znaku v množině abc
[^abc] Shoduje se s libovolným znakem, který není v sadě abc.
\d Shoda s libovolnou numerickou cifrou
(?([^\r\n])\s) Shoda s libovolným prázdným znakem
\b Shoda na začátku nebo konci slova
^ Shoda na začátku řádku
.$ Odpovídá libovolnému zlomu řádku
\w\r?\n Shoda znaku slova na konci řádku
(dog | cat) Zachycení a implicitní číslování výrazu dog | cat
(?<pet>dog | cat) Zachycení dílčího výrazu dog | cat a jeho pojmenování pet

Příklady

Příklady použití regulárních výrazů

Příklad 1: Vyhledání všech příkazů select

Chcete najít všechny SELECT příkazy ve skriptech T-SQL.

SELECT\s+.*\s+FROM

Vysvětlení příkladu 1

  • SELECT\s+: Odpovídá slovu SELECT následovaného jedním nebo více prázdnými znaky.
  • .*: Odpovídá libovolnému znaku (s výjimkou ukončovačů řádků) nulou nebo vícekrát.
  • \s+FROM: Odpovídá jednomu nebo více prázdným znakům následovaným slovem FROM.

Příklad 2: Vyhledání postupů s konkrétními vzory pojmenování

Chcete najít všechny uložené procedury, které začínají usp_ ve skriptech T-SQL.

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

Příklad 2 – vysvětlení

  • CREATE\s+PROCEDURE\s+: Odpovídá slovům CREATE PROCEDURE následovaným jedním nebo více prázdnými znaky.
  • usp_: Odpovídá literálnímu řetězci usp_.
  • [A-Za-z0-9_]+: Odpovídá jednomu nebo více alfanumerickým znakům nebo podtržítkům.

Příklad 3: Vyhledání komentářů ve skriptech T-SQL

Chcete identifikovat všechny jednořádkové komentáře (počínaje --) ve skriptech T-SQL.

--.*

Příklad 3 vysvětlení

  • --: Odpovídá literálnímu řetězci --.
  • .*: Odpovídá libovolnému znaku (s výjimkou ukončovačů řádků) nulou nebo vícekrát.

Příklad 4: Vyhledání všech příkazů aktualizace

Chcete najít všechny UPDATE příkazy ve skriptech T-SQL.

UPDATE\s+.*\s+SET

Příklad 4 vysvětlení

  • UPDATE\s+: Odpovídá slovu UPDATE následovaného jedním nebo více prázdnými znaky.
  • .*: Odpovídá libovolnému znaku (s výjimkou ukončovačů řádků) nulou nebo vícekrát.
  • \s+SET: Odpovídá jednomu nebo více prázdným znakům následovaným slovem SET.

Příklad 5: Vyhledání názvů tabulek v příkazech DDL

Chcete extrahovat názvy tabulek z CREATE TABLE příkazů ve skriptech T-SQL.

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

Příklad 5 vysvětlení

  • CREATE\s+TABLE\s+: Odpovídá slovům CREATE TABLE následovaným jedním nebo více prázdnými znaky.
  • (\w+): Odpovídá jednomu nebo více znakům slova (alfanumerické a podtržítko) a zachycuje je pro extrakci.

Další příklady najdete v části Pravidla regulárních výrazů v aplikaci Visual Studio