【发布时间】:2012-12-07 20:37:12
【问题描述】:
我正在尝试为 sublime 文本创建新语法。 在基于规则的文档突出显示中,引用如下:
每个规则都使用匹配的文本区域,因此将被排除在下一个规则的匹配尝试之外(少数例外除外)。
我有下一个我要强调的文件:
div
div
div
我有下一个要匹配的规则(例如):
{
"name": "entity.name.tag.z",
"match": "[A-z]+"
},
{
"name": "entity.language.z",
"match": "\\s*[A-z]+"
},
假设第一条规则必须匹配所有 3 个 div,所以第二条规则不匹配任何内容。
但只有第一个“div”匹配,第二个和第三个不匹配。如果我删除第二条规则,那么所有 3 条都正确匹配。
【问题讨论】:
-
这不是你的问题的原因,但我不建议使用
A-z,因为它包含这些字符:[\]^_`。请改用A-Za-z。 -
感谢您的信息,不知道,它适用于所有正则表达式还是仅崇高?
-
这是字符类的一般属性。在字符类中创建范围时,它适用于 ASCII(或 Unicode)代码点。例如当您使用
A-z时,您将包含所有具有65(A) 和122(z) 之间的ASCII 代码的字符,其中包括提到的非字母字符。 -
嗯不知道,非常感谢。
标签: regex text sublimetext2 definition