我在使用正则表达式在Dreamweaver中进行简单的查找和替换时遇到问题。
这是我的查找框中的内容:
<div id="title">([^ö]*)</div>
这就是我的替换盒中的内容
<div id="title">
<div class="center">
$1
<span>hello there</span>
</div>
</div>
如果我在上面运行查找和替换:
<div id="title"><h1>Page title</h1></div>
<div class="content">
more content
</div>
我无法得到这个结果:
<div id="title">
<div class="center">
<h1>Page title</h1>
<span>hello there</span>
</div>
</div>
<div class="content">
more content
</div>
因为de find框的内容没有定义我只想要&lt;之间的内容。 div id =“title”&gt;和第一个&lt; / div&gt; ...
有什么想法吗?
答案 0 :(得分:4)
将标记语言与正则表达式匹配至少可以说是难以理解的。
在您的情况下(假设您正在搜索和替换的<div>
代码不会包含任何嵌套的<div>
代码),您可以使用
<div id="title">([\s\S]*?)</div>
作为您的搜索正则表达式。
[\s\S]
匹配任何字符,
包括换行(更多
显而易见的是[^ö]
,我会说。 *
匹配零个或多个?
让这个明星“懒惰”,意思是
它将匹配尽可能少的字符
可能 - 从而确保
匹配将在下一个</div>
停止。