[英]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.