我正在尝试在 SQL Server 2008 R2 Management Studio 中执行查找和替换操作并使用组捕获,以便我可以回参考替换中的组.我从 this 了解到 SSMS 使用 Visual Studio 2005 正则表达式引擎.这是我所拥有的示例:
I'm trying to perform a find and replace operation in SQL Server 2008 R2 Management Studio and employ a group capture so that I can back reference the groups in the replacement. I understand from this that SSMS uses the Visual Studio 2005 regex engine. Here is an example of what I have:
SELECT First FROM Table1 SELECT Second FROM Table2 SELECT Third FROM Table3这是我的查找"表达式:
Here is my "Find" expression:
SELECT (.+) FROM (.+)这是我的替换"表达式:
Here is my "Replace" expression:
\1 \2然而,运行替换操作不会返回任何捕获的组,即每一行只是"(<---只是两个反向引用之间的空间).
However, running the replace operation results in no captured groups being returned, i.e. each line is just " " (<---just the space between the two back-references).
我做错了什么?
推荐答案SQL Server Management Studio 引擎使用 { 和 } 来标记"表达式:
SQL Server Management Studio engine uses { and } to "tag" expressions:
SELECT {.+} FROM {.+}当您将其与 \1 \2 替换表达式结合使用时,您会得到预期的结果:
When you combine this with the \1 \2 replacement expression, you get the expected result:
First Table1 Second Table2 Third Table3VS 正则表达式参考页解释细节.
更多推荐
使用正则表达式、组捕获和反向引用查找和替换
发布评论