2013-02-25 23 views
1

我有一個在哈克斯編寫的查詢工具,我試圖添加一些sql註釋支持的代碼。目前,如果用戶有任何評論(單行或多行),則查詢在服務器端失敗。因此,即時通訊嘗試編寫一個簡單的方法,它接受用戶輸入的sql並用「」替換任何註釋。這裏是方法爲什麼我的sql註釋解析EReg表達式不能編譯?

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中的「/ *」?

回答

1

問題不是\*。這是/需要逃脫。

嘗試將您的EReg更改爲~/(--[^\n]*)|(\/\*[\w\W]*?(?=\*\/)\*\/)/

+0

解決了我的問題!謝謝 – sWARm 2013-02-26 14:14:43

相關問題