使用正则表达式、组捕获和反向引用查找和替换
Find and replace using regular expression, group capturing, and back referencing
我正在尝试在 SQL Server 2008 R2 Management Studio 中执行查找和替换操作并使用组捕获,以便我可以反向引用替换中的组。我从 this that SSMS uses the Visual Studio 2005 regex engine 了解到。这是我所拥有的示例:
SELECT First FROM Table1
SELECT Second FROM Table2
SELECT Third FROM Table3
这是我的 "Find" 表达式:
SELECT (.+) FROM (.+)
这是我的 "Replace" 表达式:
但是,运行 替换操作不会导致返回任何捕获的组,即每一行只是“”(<---只是两个反向引用之间的 space)。
我做错了什么?
SQL Server Management Studio 引擎使用 {
和 }
到 "tag" 表达式:
SELECT {.+} FROM {.+}
当您将其与
替换表达式结合使用时,您会得到预期的结果:
First Table1
Second Table2
Third Table3
VS Regex reference page 详细解释。
对于 SSMS 17 及更高版本,{ ... }
和 </code> 将不起作用。请改用 <code>( ... )
和
。
我正在尝试在 SQL Server 2008 R2 Management Studio 中执行查找和替换操作并使用组捕获,以便我可以反向引用替换中的组。我从 this that SSMS uses the Visual Studio 2005 regex engine 了解到。这是我所拥有的示例:
SELECT First FROM Table1
SELECT Second FROM Table2
SELECT Third FROM Table3
这是我的 "Find" 表达式:
SELECT (.+) FROM (.+)
这是我的 "Replace" 表达式:
但是,运行 替换操作不会导致返回任何捕获的组,即每一行只是“”(<---只是两个反向引用之间的 space)。
我做错了什么?
SQL Server Management Studio 引擎使用 {
和 }
到 "tag" 表达式:
SELECT {.+} FROM {.+}
当您将其与
替换表达式结合使用时,您会得到预期的结果:
First Table1
Second Table2
Third Table3
VS Regex reference page 详细解释。
对于 SSMS 17 及更高版本,{ ... }
和 </code> 将不起作用。请改用 <code>( ... )
和 。