gpt4 book ai didi

java - 正则表达式将匹配注释的 SQL 代码

转载 作者:行者123 更新时间:2023-12-02 01:14:00 24 4
gpt4 key购买 nike

如何为下面这样的带注释的 SQL 代码编写 Java 正则表达式?

/*
SELECT * FROM Table1;
-- Comment in comment
Another SQL code
*/
SQL-code
-- One line comment
/**/ -- Yet one comment
/* And yet one comment */

这是我当前的错误变体:(--.*)|(/\*(.*\n)*\*/)

我知道注释签名(--/**/)可以位于字符串内部,但出于我的目的,我们可以将字符串视为注释,但事实并非如此。没关系。最重要的是排除所有带注释的 SQL 代码。

最佳答案

尝试使用此模式来匹配评论:

(?s)(?:\/\*.*?\*\/|--[^\n]*)

说明:

(?s) - 单行模式,. 匹配换行符

(?:...) - 非捕获组

\/\* - 字面匹配 /*

.*? - 匹配零个或多个任意字符(非贪婪)

\*\/ - 字面匹配 */

| - 交替 - 匹配左侧或右侧的模式

-- - 字面匹配 --

[^\n]* - 匹配除换行符之外的零个或多个字符

Demo

关于java - 正则表达式将匹配注释的 SQL 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58930638/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com