1

1. 问题

我无法将GFM 突出显示的代码块转换为Stack Overflow 突出显示的代码块


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.没有帮助

我的示例正则表达式:

  • 查找

    \`\`\`(.+?)\n((.+?\n)+)\`\`\`
    
  • 替换

    <!-- language: lang-\1 -->\n\n\t\2
    

Regex101 上的演示

我得到结果:

Do not change this line

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

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


Do not change this line

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

4

1 回答 1

2

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

第一步尝试搜索:

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

并替换为:

\t\1

现场演示

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

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

并将其替换为:

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

现场演示

于 2018-02-06T10:39:42.447 回答