Простой TextWrangler Grep Заменить - PullRequest
21 голосов
/ 02 февраля 2012

Я пытаюсь заменить все теги h2, содержащие класс "title", на h1:

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

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

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

Я могу найти все, но когда я нажимаю «заменить», он заменяет мои заголовки на grep crap.

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

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

1 Ответ

40 голосов
/ 02 февраля 2012

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

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...