2011-01-19 3 views
2

У меня возникла проблема с простым Find и Replace в 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> 

Поскольку содержание де находят поле не определяет, что я хочу только содержимое между < сНу ид = «Title»> и первые </div> ...

Любые идеи?

ответ

3

Соответствующие языки разметки с регулярными выражениями, по меньшей мере, сложнее.

В вашем случае (если предположить, что <div> тегов вы поиск и замены не будете содержать вложенные <div> тегов), вы можете получить с помощью

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

в качестве поисковой системы регулярных выражений.

  • [\s\S] соответствует любому символу, включая переносами (который более явно чем [^ö], я бы сказал).
  • * соответствует нулю или более из этих
  • ? делает звезду «ленивым», что означает, что это будет соответствовать, как несколько символов, как возможного - обеспечивая тем самым, что матч остановится на следующей </div>.
+0

Точно, что мне нужно. Благодарю. – ibram