[英]Markdown parser supports code fence with three backticks, but it's crashed by a blankline
[英]regex for code fence markdown. Is it simple?
我正在尝试为代码围栏降价找到正则表达式 。
```
some code
```
它应该与模式匹配,然后存储在Javascript数组中
首先,我编写了以下代码:
```+\n[\s\S]+```+
但是,由于```不表示开始-结束。 如果我有多个代码围栏,它会像选择一个整体一样选择整体,如下所示:
```
some code
```
```
some code
```
我调查了标记的代码,然后发现下面的内容
fences: /^ *(`{3,}|~{3,}) *(\S+)? *\n([\s\S]+?)\s*\1 *(?:\n+|$)/
但是,这似乎只是第一时间。
什么是正确的正则表达式? 如果太复杂,我想我可以用修剪结果构造Array。
如果有一个精美的正则表达式,我会选择的。
[\\s\\S]+
贪心,也匹配篱笆定界符,因此匹配太多。 您有两种选择:
要么使量词变得懒惰,使其匹配尽可能少的字符:
/```\n[\s\S]+?```/g
或使用否定的前瞻性断言来确保您在篱笆边界上不匹配:
/```\n(?:(?!```)[\s\S])+```/g
/g
全局修饰符允许正则表达式匹配多次。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.