我正在尝试替换
<div id="logo"> <a href="index.html"><img src="images/Logo.png" width="205" height="50" alt="logo"/></a><a class="menu-hider"></a></div>
与
<div id="logo"> <a href="index.html"><img src="{{ asset( 'images/Logo.png' }}" width="205" height="50" alt="logo"/></a><a class="menu-hider"></a></div>
在Sublime文本中。基于文档,我认为这将起作用 搜索
src=\"(.*)\"
替换
src=\"{{ asset('$1') }}\"
然而不是Sublime搜索捕获
src="images/Logo.png"
它捕获最长的子表达式并找到最后一次出现的&#34;
src="images/Logo.png" width="205" height="50" alt="logo"/></a><a class="menu-hider"
这不是我期待的第一个。有什么问题?
答案 0 :(得分:4)
这是因为.*
是贪婪的,这意味着它会尽可能地匹配,直到达到\"
。通过添加?
:
src=\"(.*?)\"
^
或使用否定的类:
src=\"([^\"]*)\"
^^^^^
后者将匹配除"
以外的任何字符,因此无法与"
匹配。
注意:我不记得要求在ST2中转义引号。我现在无法测试它,但它应该工作正常而不会被转义。