【发布时间】:2016-06-23 01:05:02
【问题描述】:
假设文件没有前导数字,我正在尝试将文件的第一行与 sublime 3 语法突出显示相匹配。
<dict>
<key>comment</key>
<string>Matchs the first line comment</string>
<key>match</key>
<string>\A^[^0-9].*</string>
<key>name</key>
<string>comment</string>
</dict>
该表达式与 ctrl-f 一起使用,但在语法文件中使用时会突出显示整个文档。
【问题讨论】:
-
您能否更具体地说明“匹配”第一行的含义?
-
只是文件的第一行。对于这种旧语言,文件的第一行是注释,除非它以数字开头。
-
Sublime 的语法高亮显示可能将
\A视为与^相同。 (顺便说一句,这是一个或另一个;\A^是多余的。)但试试这个:\A(?!\d).*$ -
如果你创建一个sublime-syntax文件而不是旧的tmLanguage,你可以创建一个匹配的正则表达式而不需要使用
\A,然后在第一行之后设置一个不同的上下文。跨度> -
感谢@keith-hall,我使用工具>开发人员>.tmLangugue 的新语法转换了 tmLanguage 文件。比添加 'main: - match: "^[^0-9]." 注释:匹配第一行注释范围:comment - match: "\n" push: body body:'
标签: regex syntax sublimetext3