Regex 将GFM高亮显示的代码块转换为堆栈溢出高亮显示的代码块 1.问题:

Regex 将GFM高亮显示的代码块转换为堆栈溢出高亮显示的代码块 1.问题:,regex,pcre,oniguruma,Regex,Pcre,Oniguruma,我不能皈依 2.例子 例如,我需要转换: 请勿更改此行 ```降价 萨沙太棒了! 萨沙:很好! 她很漂亮,令人惊讶! ``` 不要改变这一行 致: 请勿更改此行 萨沙太棒了! 萨沙:很好! 她很漂亮,令人惊讶! 不要改变这一行 3.问题 为了突出显示代码块,我需要在代码块内每行的开头添加选项卡。我不明白,我怎么能做到 4.无济于事 我的示例regex: 查找: \``(+?)\n(+?\n)+\`\`\` 更换: \n\n\t\2 我得到的结果是: 请勿更改此行 萨沙太棒了!

我不能皈依


2.例子 例如,我需要转换:

请勿更改此行
```降价
萨沙太棒了!
萨沙:很好!
她很漂亮,令人惊讶!
```
不要改变这一行
致:

请勿更改此行
萨沙太棒了!
萨沙:很好!
她很漂亮,令人惊讶!
不要改变这一行

3.问题 为了突出显示代码块,我需要在代码块内每行的开头添加选项卡。我不明白,我怎么能做到


4.无济于事 我的示例regex:

  • 查找

    \``(+?)\n(+?\n)+\`\`\`
    
  • 更换

    \n\n\t\2
    

我得到的结果是:

请勿更改此行
萨沙太棒了!
萨沙:很好!
她很漂亮,令人惊讶!
不要改变这一行

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

因为您使用的是Sublime Text find/replace功能,并且没有涉及编程语言,所以需要大约两个步骤才能实现您的愿望

对于第一步,请尝试搜索:

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

\t\1

第二个查找/替换过程是添加HTML注释,以便搜索:

(?m)(?:^```\h*\S+\s+\K|\G(?!\A))^(?!```)(.*\R+)(?:```)?
(?m)^```\h*(\S+)
并将其替换为:

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

有没有机会在记事本++中这样做?@revo:我使用的是崇高的文本,而不是记事本++。我不知道,我如何才能解决这个任务,使用崇高的文本插件。谢谢。我不确定是否有插件,但在PCRE(升华文本)中,您可以分两步完成,而不是在一行正则表达式中完成。@revo:您能演示一下,我如何使用PCRE分两步解决它吗?谢谢