我的文档包含几个代码块实例,如下所示:
{% highlight %}
//some code
{% endhighlight %}
在 Atom.io 中,我正在尝试编写一个正则表达式搜索来捕获这些内容。
我的第一次尝试是:
{% highlight .* %}([\S\s]+){% endhighlight %}
问题是因为在同一个文档中有几个代码块,它也会捕获第一个代码块直到最后一个,都在一个匹配中。
我想排除
{
特点:{% highlight .* %}([^\{]+){% endhighlight %}
但问题是某些代码块包含有效的
{
字符(例如 function(){ ... }
)。
最佳答案
使用非贪心匹配:
{% highlight .* %}([\S\s]+?){% endhighlight %}
^
关于regex - 正则表达式搜索避免嵌套结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33805752/