【问题标题】:match parens but not the contents匹配括号但不匹配内容
【发布时间】:2013-05-05 03:04:11
【问题描述】:

是否有一个简洁的正则表达式来匹配一对括号和一个前进的点,但不匹配括号内的内容。这是为了在Sublime Text 2 中使用R-Sublime 突出显示语法。

在以下示例中,我想突出显示(正匹配)三个字符:.()

 Obj[.(var)]
     ^^   ^     match only these three

目前,我正在使用 \.\(.+\) 匹配我想要的字符,但也匹配括号内的内容(在示例中,它匹配 .(var)

【问题讨论】:

  • 如果有一个函数(比如对比赛的回调),您可以在哪里创建,一旦您获得比赛,您就不能解析分隔 .() 的结果子字符串并突出显示这些?

标签: regex sublimetext2 regex-lookarounds


【解决方案1】:

不,如果一个正则表达式消耗任何字符,它必须在一个连续的块中消耗它们。语法高亮框架通过让您定义匹配开始和结束标记的复杂规则,然后委托给另一个规则(或一组规则)来处理介于两者之间的任何内容,从而绕过了该限制。在 Sublime Text 中,您可以通过定义 Begin-End Rules 来创建这些嵌套的 Scope。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    • 2019-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多