我正在尝试找到一个可用于匹配 SQL 样式注释的正则表达式。单行注释相当简单 --.* 但是我不知道如何匹配多行注释。我不需要实际的替换代码,只需要正则表达式来匹配注释。
例如:
select * from valid_sql1;
select * from valid_sql2; --comment here
--comment select * from this_is_still_a_comment;
/*
select * from this_is_not_valid;
*/
/*comment*/ select * from valid_sql3; /*this is a comment*/
Run Code Online (Sandbox Code Playgroud)
应该变成:
select * from valid_sql1;
select * from valid_sql2;
select * from valid_sql3;
Run Code Online (Sandbox Code Playgroud)
任何帮助是极大的赞赏。
g如果您的 Regex 引擎接受,则使用lobal 修饰符:
/\/\*.*?\*\/|--.*?\n/gs
Run Code Online (Sandbox Code Playgroud)
s 多行注释匹配需要修饰符。