2013-03-04 165 views
2

删除YAML头如何删除YAML头这样一个从文本文件在Ruby中:从降价文件

--- 
date: 2013-02-02 11:22:33 
title: "Some Title" 
Foo: Bar 
... 

--- 

(YAML的是由三个破折号(包围 - ))

我试着

text.gsub(/---(.*)---/, '') # text is the variable which contains the full text of the file 

但它没有工作。

回答

5

实测值的溶液中,正则表达式应该是:

/---(.|\n)*---/ 
2

上述将从---第一次出现匹配的---最后一次出现之间的一切的溶液。这意味着如果---稍后出现在您的文件中,则不仅会删除标题,还会删除其余部分内容。

此正则表达式将仅去除YAML头:

/\A---(.|\n)*?---/ 

\A确保它开始针对---第一个实例相匹配和?使得*是非贪心,这使得它停止匹配在第二个实例---