Dreamweaver заменить регулярным выражением - PullRequest
3 голосов
/ 19 января 2011

У меня проблема с простым поиском и заменой в 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 не определяет, что я хочу только содержимое между

и первым
...

Есть идеи?

1 Ответ

4 голосов
/ 19 января 2011

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

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

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

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

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