2012-02-02 2 views
18

Я пытаюсь заменить все теги h2, содержащих класс «титул» с h1:Простой TextWrangler Grep Заменить

<h2 class="title">Things</h2> 

Я использую поиск Multi-файла в TextWranger с этим:

<h2 class="title">[^>]*</h2> 

Я могу найти все, но когда я нахожусь на замене, он заменяет мои титулы гребным дерьмом.

BEFORE: <h2 class="title">Things</h2> 
AFTER: <h1 class="title">[^>]*</h1> 

Моя проблема заключается в том, что поиск не только заменяет свои теги, но и заменяет мое содержание с [^>] *. Я также попробовал это в Аптане, и случилось то же самое. Я был бы признателен за понимание.

ответ

34

Похоже, вы конвертируете <h2 class="title"> в h1? Вы должны использовать обратную ссылку в вашем «заменить»:

Поиск: <h2 class="title">([^>]*)</h2>

Заменить: <h1 class="title">\1</h1> (aside- если это h1 вы все еще хотите, чтобы сохранить "класс =„название“?)

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

Затем вы используете \1, чтобы вытащить их обратно в тексте заменить (\ 1 для первого набора скобок, \ 2 для второго, ...)

+0

Спасибо, обратная ссылка была именно моя проблема. –

Смежные вопросы