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


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

Регулярные выражения — это краткие и гибкие нотации для поиска и замены шаблонов текста. В диалоговом окне поиска и замены SQL Server Management Studio в поле Найти что можно использовать определенный набор регулярных выражений.

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

  1. Чтобы включить использование регулярных выражений в поле "Найти что" во время операций QuickFind, FindinFiles, БыстройЗамены или Замены в файлах, выберите опцию "Использовать" в разделе "Параметры поиска" и выберите "Регулярные выражения".

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

Замечание

Существуют различия в синтаксисе между регулярными выражениями, которые можно использовать в строках Найти что, и теми, которые допустимы в программировании на платформе Microsoft .NET Framework. Например, в Поиск и замена используется обозначение в виде фигурных {} скобок для помеченных выражений. Таким образом, выражение "zo{1}" соответствует всем вхождениям "zo", за которым следует тег 1, как в "Alonzo1" и "Gonzo1". Но в .NET Framework нотация {} используется для квантификаторов. Таким образом, выражение "zo{1}" соответствует всем вхождениям "z", за которым следует ровно один "o", как в "зона", но не "зоопарк".

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

Выражение Синтаксис Описание
Любой символ . Соответствует любому одному символу, кроме разрыва строки.
Ноль или более * Соответствует нулю или нескольким вхождениям предыдущего выражения, обеспечивая все возможные совпадения.
Один или несколько + Соответствует хотя бы одному вхождению предыдущего выражения.
Начало строки ^ Привязывает строку соответствия к началу строки.
Конец строки $ Привязывает строку соответствия к концу строки.
Начало слова < Соответствует только тому, когда слово начинается в этот момент в тексте.
Конец слова > Совпадает только в том случае, если слово заканчивается на этом этапе в тексте.
Разрыв строки \n Соответствует независимому от платформы разрыву строки. В выражении Replace вставляет разрыв строки.
Любой символ в наборе [] Соответствует любому из символов в []. Чтобы указать диапазон символов, перечислить начальный и конечный символ, разделенный тире (-), как в [a-z].
Любой символ, не содержащийся в наборе [^...] Соответствует любому символу, не указанному в наборе символов после ^.
или | Соответствует выражению до или одному после символа OR (|). В основном используется в группе. Например, (губка|грязь) ванны совпадают с "губкой ванны" и "грязной ванной".
Побег Соответствует символу, который следует за обратной косой чертой (\) как литерал. Это позволяет найти символы, используемые в нотации регулярного выражения, например { и ^. Например, \^ выполняет поиск символа ^.
Помеченное выражение {} Соответствует текстовым тегам, помеченным вложенным выражением.
Идентификатор C/C++ Соответствует выражению ([a-zA-Z_$][a-zA-Z0-9_$]*.
Строка с кавычками :q Соответствует выражению (("[^"]*")|(' [^']*')).
Пробел или вкладка :b Соответствует символам пробела или табуляции.
Целое число :z Соответствует выражению ([0-9]+).

Список всех регулярных выражений, допустимых в операциях поиска и замены , больше, чем можно отобразить в списке ссылок. Вы также можете вставить любое из следующих регулярных выражений в строку Найти что:

Выражение Синтаксис Описание
Минимальный — ноль или больше @ Соответствует нулю или нескольким вхождениям предыдущего выражения, выбирая как можно меньше символов.
Минимальный — один или несколько # Соответствует одному или нескольким вхождениям предыдущего выражения, сопоставляя как можно меньше символов.
Повторять n раз ^n Соответствует n раз предшествующего выражения. Например, [0-9]^4 соответствует любой четырехзначной последовательности.
Группировка () Группирует подвыражение.
n-е аннотированное сообщение \n В выражении Find или Replace указывается текст, соответствующий n-му тегированному выражению, где n — это число от 1 до 9.

В выражении Replace \0 вставляет весь соответствующий текст.
Право выровненное поле \(w,n) В выражении Replace правой стороны оправдывает nth тегированного выражения в поле по крайней мере w символов.
Левое оправданное поле \(-w,n) В выражении Replace выравнивает по левому краю n-й тегированный элемент в поле шириной не менее w символов.
Предотвратить совпадение ~(X) Предотвращает совпадение, когда X отображается на этом этапе в выражении. Например, real~(ity) совпадает с "real" в "реальности" и "действительно", но не с "real" в "реальности".
Буквенно-цифровой символ :a Соответствует выражению ([a-zA-Z0-9]).
Алфавитный символ :c Соответствует выражению ([a-zA-Z]).
Десятичная цифра :d Соответствует выражению ([0-9]).
Шестнадцатеричная цифра :h Соответствует выражению ([0-9a-fA-F]+).
Рациональное число :n Соответствует выражению (([0-9]+.[0-9]*)|([0-9]*.[0-9]+)|([0-9]+)).
Алфавитная строка :w Соответствует выражению ([a-zA-Z]+).
Побег \e Юникод U+001B.
Колокол \g Юникод U+0007.
Бэкспейс \h Юникод U+0008.
вкладка \t Соответствует символу табуляции, Юникод U+0009.
Символ Юникода \x#### или \u#### Соответствует символу, заданному значением Юникода, где #### — шестнадцатеричные цифры. Можно указать символ за пределами базовой многоязычной плоскости (то есть суррогатной) с точкой кода ISO 10646 или двумя точками кода Юникода, предоставляющими значения суррогатной пары.

В следующей таблице перечислены синтаксис для сопоставления со стандартными свойствами символов Юникода. Двухбуквенное сокращение совпадает со списком в базе данных свойств символов Юникода. Они могут быть указаны как часть набора символов. Например, выражение [:Nd:Nl:No] соответствует любому типу цифры.

Выражение Синтаксис Описание
Буква в верхнем регистре :Лу Соответствует любому верхнему регистру буквы. Например, :Luhe соответствует "The", но не "the".
Буква в нижнем регистре :Ll Соответствует любому нижнему регистру буквы. Например, :Llhe совпадает с "the", но не с "The".
Заголовок буквы регистра :Lt Соответствует символам, которые объединяют прописную букву с строчной буквой, например Nj и Dz.
Буква модификатора :Лм Соответствует буквам или знакам препинания, таким как запятые, наклонные акценты и двойные штрихи, используемые для указания изменений предыдущей буквы.
Другая буква :Вот Соответствует другим буквам, таким как готическая буква ахса.
Десятичная цифра :Nd Соответствует десятичным цифрам от 0 до 9 и их полуширинным эквивалентам.
Буквенно-цифровой символ :Nl Соответствует буквенным числам, таким как римские цифры и идеографический ноль.
Другая цифра :Нет Соответствует другим цифрам, таким как старый курсив номер один.
Открытие знаки препинания :P Совпадения с открывающими знаками препинания, такими как круглые и фигурные скобки.
Закрытие препинания :P e Соответствует закрывающей пунктуации, например закрывающим скобкам и фигурным скобкам.
Начальная пунктуация кавычки :Пи Соответствует начальным двойным кавычкам.
Окончательное препинание кавычки :P f Соответствует одинарным кавычкам и завершающим двойным кавычкам.
Знаки препинания тире :P Соответствует метку тире.
Соединительные знаки препинания :ПК Соответствует знаку подчеркивания или нижнего подчеркивания.
Другие знаки препинания :Po Совпадения (,), ?, ", !, @, #, %, &, *, \, (:), (;), ', и /.
Разделитель пространства :Zs Соответствует пустым.
Разделитель строк :Zl Соответствует символу Юникода U+2028.
Разделитель абзаца :Zp Соответствует символу Юникода U+2029.
Неразрывный символ :Mn Соответствует непарационным знакам.
Комбинирующий знак :Mc Совпадает с объединением меток.
Заключительный знак :Меня Соответствует вложенным знакам.
Математический символ :Sm Соответствует +, =, ~, |, <, и >.
Символ валюты :Sc Соответствует $ и другим символам валюты.
Символ модификатора :Sk Соответствует модификаторным символам, таким как обрезание акцента, серьезного акцента и макрона.
Другой символ :Так Соответствует другим символам, таким как знак авторских прав, знак pilcrow и знак степени.
Другой элемент управления :СС Соответствует концу строки.
Другой формат :Cf Символы элемента управления форматирования, такие как символы двунаправленного элемента управления.
Суррогат :Cs Соответствует одной половине суррогатной пары.
Другое частное использование :Со Соответствует любому символу из области частного использования.
Другие не назначены :Cn Соответствует символам, которым не соответствует символ Юникода.

Помимо стандартных свойств символов Юникода, следующие дополнительные свойства могут быть указаны как часть набора символов.

Выражение Синтаксис Описание
Альфа :Аль Соответствует одному символу. Например, :Alhe соответствует таким словам, как "The", "then" и "reached".
Числовое :Ню Соответствует любому числу или цифре.
Пунктуация :P u Соответствует любому знаку препинания, например ?, @, ', и т. д.
Пробел :Wh Соответствует всем типам пробелов, включая пробелы, используемые в публикациях, и идеографические пробелы.
Биди :Bi Соответствует символам из письменностей с письмом справа налево, таких как арабская и еврейская.
Хангыль :Ха Соответствует корейскому Хангулу и объединению Джамоса.
Хирагана :Привет Соответствует символам хираганы.
Катакана :Ка Соответствует символам катаканы.
Идеографический/Китайские иероглифы/Кандзи (Ideographic/Han/Kanji) :Идентификатор Соответствует идеографическим символам, таким как Хан и Канджи.

См. также

поиск и замена
Поиск текста с подстановочными знаками