sql 脚本上的正则表达式
regex on sql script
我需要对数百个 SQL 脚本文件执行搜索和替换操作。想法是改造这个:
USE [DB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/* comments xxxx */
ALTER PROCEDURE ....
BEGIN
...
END
进入这个:
ALTER PROCEDURE ....
BEGIN
...
END
为此,我会使用 Notepad++。我想删除 ALTER PROCEDURE
之前的任何内容。我怎样才能做到这一点?
将以下内容与 . matches newline
一起使用:
Find what: USE\s+\[[^\]]*?\].*?(ALTER\s+PROCEDURE.*?\bEND\b)
Replace with:
\[[^\]]*?\]
将确保您将匹配 USE
.
之后从 [
到 ]
的任何字符
编辑:如果您打算只删除 从 ALTER
的开头到最后出现的所有内容 ,您可以在 Find what 字段中使用 .+(?=ALTER)
正则表达式,并替换为空字符串(空字符串)。
设置:
我需要对数百个 SQL 脚本文件执行搜索和替换操作。想法是改造这个:
USE [DB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/* comments xxxx */
ALTER PROCEDURE ....
BEGIN
...
END
进入这个:
ALTER PROCEDURE ....
BEGIN
...
END
为此,我会使用 Notepad++。我想删除 ALTER PROCEDURE
之前的任何内容。我怎样才能做到这一点?
将以下内容与 . matches newline
一起使用:
Find what: USE\s+\[[^\]]*?\].*?(ALTER\s+PROCEDURE.*?\bEND\b)
Replace with:
\[[^\]]*?\]
将确保您将匹配 USE
.
[
到 ]
的任何字符
编辑:如果您打算只删除 从 ALTER
的开头到最后出现的所有内容 ,您可以在 Find what 字段中使用 .+(?=ALTER)
正则表达式,并替换为空字符串(空字符串)。
设置: