在 ace 编辑器中突出显示引用字符串内的自定义标记

Highlight custom token inside quoted string in ace editor

我花了很多时间试图解决这个问题,阅读了多篇文章,但没有任何运气。

我想做的是突出显示带引号的字符串中的自定义标记。

例如:

    Dim code As String = "SELECT G123C432 FROM table WHERE G321C234 = G87C1"

我已经在ace中导入了vb.net语言语法,没问题,但现在我想突出显示G123C432G321C234G87C1

vb.net 语法文件具有引用字符串的此标记:

    "#quotedString": [{
      token: "string.quoted.double.vbnet",
      regex: /"(?:[^"]|"")*"/
    }]

我添加了这条规则:

    "#mlkField": [{
      token: "mlkfield.vbnet",
      regex: /G[\d]+C[\d]+/
    }]

我试过正则表达式 G[\d]+C[\d]+ 但在 String.

中发现它不起作用

预期最终结果示例: editor snippet

为字符串使用单独的状态

"#quotedString": [{
    token: "string",
    regex: /"/,
    push: [{
        token: "mlkfield.vbnet",
        regex: /G[\d]+C[\d]+/
    }, {
        token: "string",
        regex: /"/,
        next: "pop"
    }, {
        defaultToken: "string"
    }]
}]