我正在为脚本语言编写语言高亮包。此语言的评论以数字符号#
开头,并以同一行结尾,除非最后一个字符是符号&
。这就是我的尝试。
{
'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
答案 0 :(得分:0)
我仍然不知道为什么(?<!&)$
不起作用,但(?<!&)\n
完美无缺:
{
'comment': 'Comments'
'begin': '#'
'end': '(?<!&)\n'
'name': 'punctuation.definition.comment'
'patterns': [
{
'include': 'text.todo'
}
]
}
我将尝试找出为什么带有字符串结尾的正则表达式(美元符号$
)不起作用并更新此答案。