【发布时间】:2016-10-31 12:14:12
【问题描述】:
我正在为脚本语言编写语言突出显示包。这种语言中的 cmets 以数字符号 # 开头,并在同一行结束,除非最后一个字符是 & 符号 &。这是我尝试过的。
{
'comment': 'Comments'
'begin': '#'
'end': '[^&]$'
'name': 'punctuation.definition.comment'
'patterns': [
{
'include': 'text.todo'
}
]
}
但这失败了,只能作为一个简单的美元符号$。 Atom 基于TextMate,它使用Oniguruma 正则表达式。这应该有效,但它不起作用(既不向后看(?<!&)$)。奇怪的是,“反向匹配”[&]$ 完美运行。
这是一个错误还是我遗漏了什么?
我的 Atom 版本是:
Atom : 1.10.2
Electron: 0.37.8
Chrome : 49.0.2623.75
Node : 5.10.0
【问题讨论】:
-
如果你需要一个负面的lookbehind,它应该是
(?<!&)$或$(?<!&),而不是(!<!&)$ -
@wiktor-stribiżew 你是对的,我打错了(这里不是我在 Atom 中尝试的时候)。已更正。
标签: regex atom-editor