选择MD codeblock中的所有代码?

时间:2017-07-24 11:51:32

标签: regex

我需要在markdown文档中选择所有代码块。

Пример создания файбера и передача ему в качестве аргумента вызываемой функции:
```
auto f = new Fiber(&foo);
```
`f.call();` вызов файбера
`Fiber.yield();` метод `yield()` класса `Fiber` вызывающий преостановку выполнение текущей функции

Пример:

```
import std.stdio;
import core.thread;

void main()
{
  auto f = new Fiber(&foo);
  f.call(); // Prints Hello
  f.call(); // Prints World
}

void foo()
{
  writeln("Hello");
  Fiber.yield();
  writeln("World");
}
```

Результат:
```
> app.exe
Hello
World

这是我的正则表达式https://regex101.com/r/Ya85Pk/2

但它不起作用。

我的语言是D. https://dlang.org/library/std/regex.html

1 个答案:

答案 0 :(得分:0)

您可以将此脚本与延迟量词和模式s一起使用(单行模式):

`{3}[\r\n]+(.*?)[\r\n]+`{3}

RegEx分手:

  • `{3}[\r\n]+匹配三个连续的后退,后跟一个或多个换行符
  • (.*?)懒惰地匹配任何字符的0或更多字符,包括换行符(因为s模式)。

Updated Regex Demo