Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我的sql注释解析EReg表达式不能编译?_Sql_Comments_Haxe_Neko - Fatal编程技术网

为什么我的sql注释解析EReg表达式不能编译?

为什么我的sql注释解析EReg表达式不能编译?,sql,comments,haxe,neko,Sql,Comments,Haxe,Neko,我有一个用Haxe编写的sql查询工具,我正在尝试向代码中添加一些sql注释支持。当前,如果用户有任何注释(单行或多行),服务器端的查询将失败。因此,我试图编写一个简单的方法,它接受用户输入的sql语句,并用“”替换任何注释。这里有一个方法 static function removeComments(snippet: SqlSnippet): SqlSnippet { var rComment: EReg = ~/(--[^\n]*)|(/\*[\w\W]*?(?=\*/)\*/)/;

我有一个用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:无效字符'\'
[在0.2秒内完成,退出代码为1]

此消息引用的“\”是我试图用来转义第二组“()”开头的“*”元字符的“\”


有人知道为什么nako不会在这个EReg中编译“/*”?

问题不在于
\*
。需要转义的是
/


尝试将您的EReg更改为
~/(-[^\n]*)|(\/\*[\w\w]*?(?=\*\/)\*\/)/

问题不在于
\*
。需要转义的是
/


请尝试将您的EReg更改为
~/(-[^\n]*)|(\/\*[\w\w]*?(?=\*\/)\*\/)/

,以解决我的问题!谢谢你解决了我的问题!非常感谢。