SSMS использует qurky реализацию RegEx, которая очень отличается от того, что используется в Visual Studio и в классе .NET Regex.
Полный список, если указаны его возможности и соответствующий синтаксис здесь можно найти по адресу MSDN .
Даже с документацией к ее странному диалекту регулярных выражений, вы можете обнаружить, что его набор функций совершенно отсутствует.(Примеры: он не поддерживает основы, такие как оператор "?", Или полезные расширенные возможности, такие как положительный взгляд.) Вы можете выполнять отрицательный взгляд с помощью следующего синтаксиса:
Prevent match ~(X) Prevents a match when X appears at this point in the
expression. For example, real~(ity) matches the "real"
in "realty" and "really," but not the "real" in "reality."
Единственное преимущество, которое я видел в причудливом диалекте SSMS, состоит в том, что он содержит множество встроенных классов символов, которых нет во многих других движках.
Примеры:
Math symbol :Sm Matches +, =, ~, |, <, and >.
Currency symbol :Sc Matches $ and other currency symbols.
Примечание для тех, кто уже использует обычные выражения в другом месте:
Реально, если вы не собираетесь использовать много пользовательских групп, которые в нем содержатся, вероятно, вам не стоит тратить время на изучение этого странного диалектаRegex.Скопируйте ваш запрос в редактор с более стандартной реализацией (Visual Studio 2012 или более поздней версии, Notepad ++ и т. Д.), И вам будет лучше.