正则表达式查找sql​​注释

标签 regex

我正在尝试寻找可用于匹配 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*/

应该变成:

 select * from valid_sql1;

 select * from valid_sql2;

 select * from valid_sql3;

非常感谢任何帮助。

最佳答案

如果您的 Regex 引擎接受 global 修饰符:

/\/\*.*?\*\/|--.*?\n/gs
多行注释匹配需要

s修饰符

Demo

关于正则表达式查找sql​​注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21017075/

相关文章:

javascript - 验证 javascript 中的路径

javascript - 使用正则表达式在不在 anchor 中的页面上查找电话号码

javascript - 获取带有图片的url位置

regex - 捕获两个标记之间的文本

python - 无反向匹配 : Unable to set named group in URL in Django

python - 有没有办法在 Python 的 re.sub() 中的替换字符串中使用正则表达式?

regex - 如何替换模式的第 N 次出现以在 vim 中添加额外的术语

c# - 从匹配中排除可选后缀的 .NET 正则表达式

Sublime Text 片段中句点之前变量名称的正则表达式

python - 无法在 Ubuntu 中安装正则表达式