将 GFM 高亮代码块转换为 Stack Overflow 高亮代码块

Convert GFM highlighted code block to Stack Overflow highlighted code block

1。问题

我无法转换 GFM highlighted code block to Stack Overflow highlighted code block


2。例子

比如我需要转换:

Do not change this line

```markdown
Sasha great!
    Sasha nice!
She is beautiful, surprise!
```

Do not change this line

至:

Do not change this line

<!-- language: lang-markdown -->

    Sasha great!
        Sasha nice!
    She is beautiful, surprise!

Do not change this line

3。问题

为了突出显示代码块,我需要在代码块内的每一行的开头添加制表符。我不明白,我怎么能做到。


4。没有帮助

我的示例正则表达式:

Demonstration on Regex101.

我得到结果:

Do not change this line

<!-- language: lang-markdown -->

    Sasha great!
    Sasha nice!
She is beautiful, surprise!


Do not change this line

仅在代码块内的第一行开头添加制表符号。我该怎么做,在代码块内的每一行的开头添加制表符?

由于您使用的是 Sublime Text 查找/替换功能,并且不涉及任何编程语言,因此您需要大约两个步骤才能实现您的愿望。

第一步尝试搜索:

(?m)(?:^```\h*\S+\s+\K|\G(?!\A))^(?!```)(.*\R+)(?:```)?

并替换为:

\t

Live demo

第二个查找/替换过程将用于添加 HTML 评论,因此搜索:

(?m)^```\h*(\S+)

并将其替换为:

<!-- language: lang- -->\n

Live demo