【问题标题】:Remove YAML header from markdown file从 Markdown 文件中删除 YAML 标头
【发布时间】:2013-02-18 20:47:40
【问题描述】:

如何从 Ruby 中的文本文件中删除像这样的 YAML 标头:

---
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

但是没有用。

【问题讨论】:

    标签: ruby regex replace yaml


    【解决方案1】:

    上面提到的解决方案将从--- 的第一次出现匹配到--- 的最后一次出现以及介于两者之间的所有内容。这意味着如果--- 稍后出现在您的文件中,您不仅会删除标题,还会删除一些其余内容。

    此正则表达式只会删除 yaml 标头:

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

    \A 确保它开始与--- 的第一个实例匹配,? 使* 成为非贪婪的,这使它停止匹配--- 的第二个实例。

    【讨论】:

      【解决方案2】:

      找到了解决办法,正则表达式应该是:

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

      【讨论】:

        猜你喜欢
        • 2015-03-29
        • 1970-01-01
        • 1970-01-01
        • 2019-12-01
        • 1970-01-01
        • 2018-07-21
        • 2018-04-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多