regex - Dreamweaver 用正则表达式替换

我在 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 box的内容没有定义我只想要

和第一个
之间的内容...

有什么想法吗?

最佳答案

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

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

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

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

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

https://stackoverflow.com/questions/4733857/

相关文章:

oop - [incr Tcl] 中的静态函数继承

tfs-power-tools - TFS Powertools 2010 Shell 与 Wind

scala - 提升 Web 框架 DRY 调度

task - Guice:提供程序中的注入(inject)器

recursion - 对于每个递归算法都可以创建等效的非递归版本吗?

java - 尝试执行 jar 时出现错误 java.lang.ClassNotFoundExcep

entity-framework-4 - 如何首先在 EF4 代码中将表拆分为多种类型?

.net - 如何拦截自定义处理的 WPF 绑定(bind)

c - 将多维数组传递给函数 C

.net - SqlCE 4.0 在 Visual Studio 2010 中是否有自己的连接提供程