9

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 つの後方参照の間のスペースのみ) になります。

私は何を間違っていますか?

4

2 に答える 2

9

SQL Server Management Studio エンジンは{}式を "タグ付け" するためにand を使用します。

SELECT {.+} FROM {.+}

これを置換式と組み合わせると\1 \2、期待される結果が得られます。

First Table1
Second Table2
Third Table3

VS Regex のリファレンス ページに詳細が説明されています。

于 2015-07-08T15:23:37.620 に答える
9

SSMS 17 以降{ ... }では機能しません\1。代わりに( ... )andを使用してください。$1

于 2018-07-13T15:15:07.623 に答える