我正在为 VS Code 中的语法突出显示扩展编写 TextMate 语法,我发现如果我为常量定义匹配规则,它会连续多次匹配它们。更具体地说,我想定义包含字母序列的各种匹配规则,但我希望每个规则在查找匹配之前考虑连续字母的最长可能序列。有什么办法可以实现这种行为吗?
目前,如果我有一个简单定义为
test
的常量,它会将字符串 testtest
匹配为常量的两个副本,但我更希望它考虑整个字符串,因此根本不匹配 test
常量。如果重要的话,这种情况下的后备措施是将其作为变量进行匹配。基本上,如果最大连续字母串是常量,则应将其作为常量进行匹配,否则应将其作为变量进行匹配,无论该变量名称是否包含与常量匹配的子字符串。
您正在寻找单词边界锚点
\\b
。word
字符 \\btest\\b
时才会匹配。