【发布时间】:2013-02-25 21:20:37
【问题描述】:
我有一个用 Haxe 编写的 sql 查询工具,我试图在代码中添加一些 sql 注释支持。当前,如果用户有任何 cmets(单行或多行),则服务器端的查询将失败。因此,我试图编写一个简单的方法,该方法采用用户输入的 sql 并用“”替换任何 cmets。这是方法
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 中编译“/*”吗?
【问题讨论】: