我正在为 grails 编写一个 Sublime Text 2 构建配置,其中包括一个正则表达式(perl 样式),用于将错误消息解析为文件、行、列和消息部分。错误来自 grails CLI,格式如下:
{Project_Directory}/SourceFile.groovy: 19: errror_message @ line 19, column 5.
我当前的正则表达式匹配所有四个部分,但 Sublime 似乎要求匹配按顺序发生,即匹配组 1 = 文件名,2 = 行号,3 = 列号,4 = 错误消息。Grails 以相反的顺序报告项目 3 和 4,因此我需要编写一个正则表达式,将列号放入匹配组 3 并将错误消息放入组 4。我当前的正则表达式(匹配,但不反转组 3 4) 如下:
^(.+?): (\d+): (.+?) \@ line \d+, column (\d+)\.$
有任何想法吗?这甚至可能吗?有谁知道 sublime 是否会接受命名组而不是编号组?