我正在尝试在SQL Server 2008 R2 Management Studio中执行查找和替换操作,并使用组捕获,以便我可以返回引用替换中的组。我从this了解SSMS使用the Visual Studio 2005 regex engine。这是我的一个例子:
SELECT First FROM Table1
SELECT Second FROM Table2
SELECT Third FROM Table3
这是我的“查找”表达式:
SELECT (.+) FROM (.+)
这是我的“替换”表达式:
\1 \2
但是,运行替换操作会导致没有返回捕获的组,即每行只是“”(< ---只是两个反向引用之间的空格)。
我做错了什么?
答案 0 :(得分:7)
SQL Server Management Studio引擎使用{
和}
来“标记”表达式:
SELECT {.+} FROM {.+}
当您将其与\1 \2
替换表达式结合使用时,您将获得预期结果:
First Table1
Second Table2
Third Table3
VS Regex reference page解释了详细信息。
答案 1 :(得分:1)
对于SSMS 2017 {....}和\ 1将不起作用。使用(...)和&1代替。