regex - 正则表达式搜索避免嵌套结果

标签 regex atom-editor

我的文档包含几个代码块实例,如下所示:

{% 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/

相关文章:

atom-editor - 在 Atom 中更改 UI 字体大小

github - 如何在 Atom 文本编辑器中克隆所有分支而不仅仅是掌握

ubuntu - ubuntu 18.04 中的 atom libc-2.31.so 段错误

netbeans - 如何在 Atom.io 编辑器中设置自动缩进和格式样式

Python 正则表达式何时失败?参与重复组

javascript - 2 位数字的正则表达式

python - 十六进制正则表达式字符串匹配不起作用(python)

typescript - 您如何使用 atom-typescript 包控制/配置 linting?

Ruby 正则表达式 MatchData 到整数转换

javascript - 如何从javascript中的字符串中提取 float