Поиск текста с помощью регулярных выражений
Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)
Следующие регулярные выражения могут заменить символы или цифры в диалоговом окне Поиска и замены SQL Server Management Studio.
Необходимые компоненты
Включение регулярных выражений
Ниже приведены инструкции по включению регулярных выражений в поиске.
- Перейдите к разделу "Изменить>поиск и заменить>быстрый поиск".
- Рядом с строкой поиска выберите стрелку >вниз в файлах.
- В окне поиска и замены разверните параметры поиска и выберите "Использовать регулярные выражения".
Кнопка конструктора выражений рядом с полем "Найти то, что затем становится доступным". Нажмите эту кнопку, чтобы отобразить список доступных регулярных выражений. При выборе любого элемента из построителя выражений он вставляется в строку поиска.
В следующей таблице описаны некоторые регулярные выражения в построителе выражений.
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