我有一个用 Haxe 编写的 sql 查询工具,我试图在代码中添加一些 sql 注释支持。目前,如果用户有任何评论(单行或多行),则服务器端的查询将失败。因此,我试图编写一个简单的方法,该方法采用用户输入的 sql 并用“”替换任何注释。这是方法
static function removeComments(snippet: SqlSnippet): SqlSnippet {
var rComment: EReg = ~/(--[^\n]*)|(/\*[\w\W]*?(?=\*/)\*/)/;
var resultSql = rComment.replace(snippet.sql, "");
snippet.sql = resultSql;
return snippet;
}
我的问题不在于这种方法,但那个 neko 不会编译它。当我尝试编译此方法时,我收到此消息:
src/skyview/SqlSnippetParser.hx:30: character 33 : Invalid character '\'
[Finished in 0.2s with exit code 1]
此消息所指的 '\' 是我试图用来转义第二组“()”开头的 '*' 元字符的 '\'
有谁知道为什么 nako 不会在这个 EReg 中编译“/*”?