Поделиться через


Поиск текста с помощью регулярных выражений

Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)

Следующие регулярные выражения могут заменить символы или цифры в диалоговом окне Поиска и замены SQL Server Management Studio.

Необходимые компоненты

Включение регулярных выражений

Ниже приведены инструкции по включению регулярных выражений в поиске.

  1. Перейдите к разделу "Изменить>поиск и заменить>быстрый поиск".
  2. Рядом с строкой поиска выберите стрелку >вниз в файлах.
  3. В окне поиска и замены разверните параметры поиска и выберите "Использовать регулярные выражения".

Кнопка конструктора выражений рядом с полем "Найти то, что затем становится доступным". Нажмите эту кнопку, чтобы отобразить список доступных регулярных выражений. При выборе любого элемента из построителя выражений он вставляется в строку поиска.

В следующей таблице описаны некоторые регулярные выражения в построителе выражений.

Expression Description
. Соответствует любому одиночному символу, кроме разрыва строки
.* Совпадение любого символа ноль или больше раз
.+ Совпадение любого символа один или несколько раз
[abc] Сопоставление любого символа в наборе abc
[^abc] Сопоставление любого символа, не в наборе abc
\d Соответствует любому цифровому символу
(?([^\r\n])\s) Соответствует любому символу пробела.
\b Совпадение в начале или конце слова
^ Совпадение в начале строки
.$ Сопоставление любого разрыва строки
\w\r?\n Сопоставление символа слова в конце строки
(dog | cat) Запись и неявное число выражения dog | cat
(?<pet>dog | cat) Захват вложенных выражений dog | cat и его имя pet

Примеры

Некоторые примеры использования регулярных выражений.

Пример 1. Поиск всех инструкций select

Вы хотите найти все инструкции SELECT в скриптах SQL.

SELECT\s+.*\s+FROM

Описание примера 1

  • SELECT\s+: соответствует слову SELECT, за которым следует один или несколько символов пробелов.
  • .*: соответствует любому символу (за исключением конца строк) ноль или больше раз.
  • \s+FROM: соответствует одному или нескольким символам пробелов, за которым следует слово FROM.

Пример 2. Поиск процедур с определенными шаблонами именования

Вы хотите найти все хранимые процедуры, начинающиеся с "usp_" в скриптах SQL.

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

Объяснение, например 2

  • CREATE\s+PROCEDURE\s+: соответствует словам CREATE PROCEDURE, за которым следует один или несколько символов пробелов.
  • usp_. Соответствует литеральной строке "usp_".
  • [A-Za-z0-9_]+: соответствует одному или нескольким буквенно-цифровым символам или подчеркиваниям.

Пример 3. Поиск комментариев в скриптах SQL

Вы хотите определить все одно строковый комментарий (начиная с --) в скриптах SQL.

--.*

Объяснение, например 3

  • --: соответствует литеральной строке "--".
  • .*: соответствует любому символу (за исключением конца строк) ноль или больше раз.

Пример 4. Поиск всех инструкций обновления

Вы хотите найти все инструкции UPDATE в скриптах SQL.

UPDATE\s+.*\s+SET

Объяснение, например 4

  • UPDATE\s+: соответствует слову UPDATE, за которым следует один или несколько символов пробелов.
  • .*: соответствует любому символу (за исключением конца строк) ноль или больше раз.
  • \s+SET: соответствует одному или нескольким символам пробелов, за которым следует слово SET.

Пример 5. Поиск имен таблиц в инструкциях DDL

Вы хотите извлечь имена таблиц из инструкций CREATE TABLE в скриптах SQL.

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

Объяснение, например 5

  • CREATE\s+TABLE\s+: соответствует словам CREATE TABLE, за которым следует один или несколько символов пробелов.
  • (\w+): соответствует одному или нескольким символам слова (буквенно-цифровым и подчеркиванием) и фиксирует их для извлечения.

Дополнительные примеры см . в разделе "Регулярные выражения" в Visual Studio