我的文档包含几个代码块实例,如下所示:
{% highlight %}
//some code
{% endhighlight %}
在Atom.io中,我试图编写一个正则表达式搜索来捕获这些内容。
我的第一次尝试是:
{% highlight .* %}([\S\s]+){% endhighlight %}
问题在于,在同一文档中有多个代码块,它还会捕获第一个代码块,直到最后一个代码块,而且全部匹配。
我虽然排除了
{
字符:{% highlight .* %}([^\{]+){% endhighlight %}
但是问题在于某些代码块包含有效的
{
字符(例如function(){ ... }
)。 最佳答案
使用非贪婪匹配:
{% highlight .* %}([\S\s]+?){% endhighlight %}
^