我正在尝试在 showdown.js 中添加对代码防护的支持,但我对正则表达式仍然是个菜鸟。如果你不知道的话,代码防护是这样的:
```javascript
alert('hello world');
```
然后它会创建类似的东西:
<div class="highlight">
<pre lang="javascript">
alert('hello world');
</pre>
</div>
如何在 JavaScript 风格的正则表达式中捕获 ```(anything)\n(anything)``` ?
最佳答案
r = /`{3}(?:(.*$)\n)?([\s\S]*)`{3}/m;
r.exec(yourSampleString); // => [..., "javascript", "alert('hello world');\n"]
r.exec('```puts "ok"```'); // => [..., undefined, "puts \"ok\""]
r.exec('```foo```bar```'); // => [..., undefined, "foo```bar"]
关于用于 Markdown 中代码防护的 JavaScript 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8333010/