Dreamweaver替换为正则表达式

时间:2011-01-19 09:57:53

标签: regex adobe dreamweaver replace

我在使用正则表达式在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; ...

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

将标记语言与正则表达式匹配至少可以说是难以理解的。

在您的情况下(假设您正在搜索和替换的<div>代码不会包含任何嵌套的<div>代码),您可以使用

<div id="title">([\s\S]*?)</div>

作为您的搜索正则表达式。

  • [\s\S]匹配任何字符, 包括换行(更多 显而易见的是[^ö],我会说。
  • * 匹配零个或多个
  • ? 让这个明星“懒惰”,意思是 它将匹配尽可能少的字符 可能 - 从而确保 匹配将在下一个</div>停止。