Visual studio code 用于检测的正则表达式!这不管用

Visual studio code 用于检测的正则表达式!这不管用,visual-studio-code,vscode-extensions,Visual Studio Code,Vscode Extensions,我正在尝试使用tmGrammarjson文件在VS代码中实现对新语言的支持。在这种语言中,变量以开头,还有一个名为的特殊保留变量!这是用这种语言编写的 我想将一个类应用于所有公共变量,另一个应用于!这是一个变量。我在json文件中执行此操作: "repository": { "keywords": { "patterns": [ { "name": "constant.character",

我正在尝试使用tmGrammarjson文件在VS代码中实现对新语言的支持。在这种语言中,变量以
开头,还有一个名为
的特殊保留变量!这是用这种语言编写的

我想将一个类应用于所有公共变量,另一个应用于
!这是一个
变量。我在json文件中执行此操作:

"repository": {
    "keywords": {
        "patterns": [
            {
                "name": "constant.character",
                "match": "(?i)\\b(!this)\\b"
            },
            {
                "name": "variable.other",
                "match": "(?i)\\![a-z0-9]+"
            },
     }
  }
但这两种颜色都是
!这
!将someVar
转换为相同的颜色

如果我将第一条规则更改为
(?I)\\b(this)\\b
,而没有
单词
正确着色

我也试着改变规则的顺序,但现在不管我做什么都会使
!此
与常用变量的颜色相同


第一个正则表达式有问题吗?

我已经尝试过了,但没有成功。在
变量中使用它如何。其他
范围:
(?I)![a-z0-9]+\\b(??
在这种情况下是否需要转义?很好!没有解决问题,但现在我们知道第一个表达式存在问题。根据您的建议,常用变量名仍然是彩色的,但
!此
变量根本没有任何颜色类。看起来
有一个特殊的函数in语法中使用的正则表达式语言file@Mark已解决将其更改为
(?i)!此
。感谢您的帮助!您在第二个正则表达式中跳过了
,如果语法文件中的含义特殊,为什么不在第一个正则表达式中呢?如果是,则应在文档中。