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

Область применения: SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

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

Необходимые условия

Как включить регулярные выражения

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

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

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

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

Выражение Описание
. Сопоставление любого одного символа (за исключением разрыва строки)
.* Совпадение с любым символом ноль или более раз
.+ Совпадение любого символа один или несколько раз
[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 инструкции в скриптах T-SQL.

SELECT\s+.*\s+FROM

Пример 1 объяснение

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

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

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

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

Пример 2 объяснение

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

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

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

--.*

Пример 3 объяснения

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

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

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

UPDATE\s+.*\s+SET

Пример 4 объяснения

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

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

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

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

Пример 5 пояснений

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

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