2017-07-24 70 views
0

我需要选择markdown文档中的所有代码块。选择MD codeblock中的所有代码?

Пример создания файбера и передача ему в качестве аргумента вызываемой функции: 
``` 
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

+0

什么是正则表达式的味道?最好在这里发布正则表达式和示例文本。 – anubhava

回答

0

你可以使用这个脚本与惰性限定符和模式s(单线模式):

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

正则表达式破碎:

  • `{3}[\r\n]+匹配三个连续的反标记,后跟一个或多个换行符
  • (.*?)与包含换行符的任何字符(由于s模式)延迟匹配0或更多。

Updated Regex Demo