TextMate 语法 - `end` 表达式有问题

问题描述

我在 TextMate 中正则表达式的 end 部分遇到了大问题:

  1. 看起来 end 成为了在 beginend 之间返回的模式的一部分
  2. 尝试应用多个结尾并带有一个负面的后视证明是不成功的

这是一个示例代码:

property_name: {
    test1: [1,50,5000]
    test2: something ;;
    test3: [
        1,5000
    ]
    test4: "string"
    test5: [
        "text","text2"
    ]
    test6: something2
    test7: something3
}

我正在使用以下代码:


"begin": "\\b([a-z_]+):","beginCaptures": {
    "1": {
        "name" : "parameter.name"
    }
}
"end": "(?<!,)\\n(?!\\])","patterns": [
    {
        "name": "parameter.value","match": "(.+)"
    }
]

我对 end 正则表达式的逻辑是认为它在有新行时结束,但前提是它前面没有逗号(数组中的值列表)或后跟右方括号(最后数组中的值)。

不幸的是,它没有按预期工作。

我想要实现的是所有 property_name#test 都匹配为 parameter.name 并且值匹配为 parameter.value 除了 ;;

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...