javascript - Google Code Prettify - 如何修复 SQL 转义字符

标签 javascript regex prettify google-code-prettify

我正在尝试解决以下问题,因为它在我的网站上非常烦人。 https://code.google.com/p/google-code-prettify/issues/detail?id=341&thanks=341&ts=1398085413

并引用了以下美化代码文件: https://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-sql.js?r=179

问题是

  1. 当在 SQL 中创建一个以“\”结尾的字符串时,荧光笔认为它被转义了,而这不是 T-SQL 语法。
  2. 要重现,请使用此代码作为源代码:(安装了 Google Code Prettify)

    <pre class="prettyprint lang-sql">
     SELECT @BUPath = 'c:\backups\' + @DBName + '-B4 CHANGE.bak'
     SELECT @BUName = @DBName + '-B4 CHANGE'
    </pre>
    

我希望代码能够理解“c:\backups\”部分中引号前的斜杠不是转义字符...

我预计这一行需要更改,但我不确定如何更改:

[PR['PR_STRING'],      /^(?:"(?:[^\"\\]|\\.)*"|'(?:[^\'\\]|\\.)*')/, null,
      '"\'']

显示问题的 fiddle :http://jsfiddle.net/JH5uj/5/

最佳答案

我认为 https://github.com/google/code-prettify/blob/master/src/lang-sql.js 处的 PR_STRING 定义一定是从其他语言复制而来的,其中反斜杠是转义字符。

/^(?:"[^"]*"|'[^']*')/

据我所知是这样做的,但作为一个单纯的数据库专家,我可能会遗漏一些东西。

(很抱歉来晚了,但我刚遇到同样的问题并找到了这个帖子。)

关于javascript - Google Code Prettify - 如何修复 SQL 转义字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23199347/

相关文章:

javascript - 如何使用美化、语法突出显示的 JSON 结果编写 HTML JSON AJAX 测试工具?

python - 在 Python 中用 prettyprint 类包装 markdown 代码块

regex - 在特殊情况下用裸 URL 替换 Markdown 链接

regex - 如何匹配不包含单词的行

javascript - 如何在我的 vuejs 组件中嵌入 javascript 代码?

javascript - 获取数组中出现次数相同(最高)的所有元素

c# - 使用 Regex.Replace 方法时如何找到子字符串?

maven - IntelliJ Maven输出链接

javascript - parent 和 child 的触摸事件分开

javascript - 为什么我的 jQuery 动画不能正常工作?