正则表达式在记事本++:找到所有 'INSERT INTO ...;' 查询(R

2019-09-27 04:30发布

我有一个包含大量的“创建表...”和“插入......”查询的一个大SQL文件。 现在,我要消除所有的“插入”从文件中查询。 插入查询有点像:

INSERT INTO 'some_table' (col1, col2, col3) values
('val11','val12','val13'),
('val21','val22','val23'),
('val31','val32','val33');

使用记事本+ +,我想找到并使用正则表达式删除所有这些“插入”查询。

当我试图用正则表达式查找INSERT INTO((.*\r\n)*)然后将它从第一INSERT查询,直到文件的末尾开始选择。 现在,当我把分号这个reqex(后INSERT INTO((.*\r\n)*);发现没有? 我怎样才能终止与分号正则表达式搜索( ; )?

Answer 1:

分号行结束前下降,而这正是它需要在你的正则表达式。

INSERT INTO(([^;]*\r\n)*(.*;(\r\n|$)))

一个更可靠的方法是:

INSERT INTO[\s\S]*?(?<=;)\s*$

它可以让你有分号文字在您的查询。



Answer 2:

INSERT INTO.*?;

选择match newline option


你贪婪地匹配它( .* )......使用懒惰quatifier( .*?

没有必要的\r\n ...



文章来源: Regex in Notepad++: Find all 'INSERT INTO…;' queries