Поиск и замена с помощью регулярного выражения, группового захвата и обратной ссылки
Я пытаюсь выполнить операцию поиска и замены в среде SQL Server 2008 R2 Management Studio и использовать запись группы, чтобы я мог ссылаться на группы в замене. Я понимаю из этого , что SSMS использует механизм регулярных выражений Visual Studio 2005. Вот пример того, что у меня есть:
SELECT First FROM Table1
SELECT Second FROM Table2
SELECT Third FROM Table3
Вот мое выражение "найти":
SELECT (.+) FROM (.+)
Вот мое выражение" заменить":
1 2
Однако выполнение операции замены не приводит к захвату группы возвращаются, то есть каждая строка-это просто "" (
Что я делаю не так?
2 ответа:
SQL Server Management Studio engine использует выражения
{
и}
для "тегирования" выражений:SELECT {.+} FROM {.+}
Когда вы объединяете это с выражением замены
\1 \2
, Вы получаете ожидаемый результат:First Table1 Second Table2 Third Table3
Справочная страница VS Regex объясняет детали.