Visual Studio中的一或多行RegEx查找+替换

问题描述 投票:0回答:1

搜索条件:

[尝试用静态和动态文本的混合查找和替换一条或多条填充的行(可能是空行或在特定代码的两行之间只有空格的行)。

例如,我想找到以下两行已填充代码行的每个实例,并将其替换为两行之前都带有“-”

CREATE NONCLUSTERED INDEX <dynamic index name> ON <dynamic table name> ( <dynamic list of columns > )
GO

或仅一行代码(请注意,没有后续的“ GO”)

CREATE NONCLUSTERED INDEX <dynamic index name> ON <dynamic table name> ( <dynamic list of columns > )

示例:

正确的正则表达式应该找到以下内容

CREATE NONCLUSTERED INDEX [Indx_Temp_dboTable1] ON [dbo].[Table1] ( [Id] ASC, [Val] ASC )
GO
CREATE NONCLUSTERED INDEX [Indx_Temp_dboTable2] ON [dbo].[Table2] ( [Id1] ASC )
<empty line>
GO
CREATE NONCLUSTERED INDEX [Indx_Temp_dboTable3] ON [dbo].[Table3] ( [Value1] ASC )
<empty line>
  <empty line with some spaces>
GO
CREATE NONCLUSTERED INDEX [Indx_Temp_dboTable4] ON [dbo].[Table4] ( [Value1] ASC )

并替换为

--CREATE NONCLUSTERED INDEX [Indx_Temp_dboTable1] ON [dbo].[Table1] ( [Id] ASC, [Val] ASC )
--GO
--CREATE NONCLUSTERED INDEX [Indx_Temp_dboTable2] ON [dbo].[Table2] ( [Id1] ASC )
<empty line>
--GO
--CREATE NONCLUSTERED INDEX [Indx_Temp_dboTable3] ON [dbo].[Table3] ( [Value1] ASC )
--<empty line>
--  <empty line with some spaces>
--GO
--CREATE NONCLUSTERED INDEX [Indx_Temp_dboTable4] ON [dbo].[Table4] ( [Value1] ASC )

[如果有一个后续的“ GO”,那么如果有一种方法可以删除空行或第一行和第二行之间有空格的空行,那就太好了。

注意:

我需要一个正则表达式来仅查找和替换“ create nonclustered ...”,如果存在则替换“ SEQ”。我不希望正则表达式在每个文件中查找和替换所有内容,从“创建非聚类...”到最后一个“ GO”。

我的尝试

CREATE NONCLUSTERED INDEX .* ON .* ( .* )(.*\n)[GO]

如果存在后续的GO,则需要排除1条或更多的空行或1条或更多的空行,且两行之间只有空格。

regex visual-studio
1个回答
0
投票

因此,您要用于search

© www.soinside.com 2019 - 2024. All rights reserved.