Меню
Категории
Регулярные выражения к Notepad++
19 мая, 2011 Система

Notepad++ имеет в своем составе полезный инструмент как поиск и замена с функцией регулярных выражений.

Я собрал немного информации на эту тему и решил объединить её для удобного поиска необходимых данных.

Задание 1.
Есть <div class=”a1″> ЗДЕСЬ РАЗНЫЙ КОД ИЛИ ТЕКТ</div>
Регулярное выражение: <div class=”a1″>.*</div>

Заданеи 2. Есть список ссылок, наша задача обрезать все ссылки после .ua и заменить ее, например на главную страницу – index.html

  • https://tryboi.com.ua/publ1.html
  • https://tryboi.com.ua/publ2.html
  • https://tryboi.com.ua/publ3.html

Нажимаем Ctrl+H в форму вводим выражение: \.ua.*$
заменить на :/index.html

Не забудьте установить галочку в опции (режим поиска) – регулярное выражение.

Задание 3. Есть страница с картинками, у них разные размеры. Задание привести их к одному виду.

  • <img width=”300″ height=”200″ src=””
  • <img width=”350″ height=”210″ src=””
  • <img width=”250″ height=”110″ src=””

В результат должны получить: <img  width=”200″ height=”200″  src=””

Регулярное выражение:

<img width=”(\d+)” height=”(\d+)” src=””

Задание 4. Нужно быстро отредактировать без малого 300 строк, убрав из них лишнее. Притом, “основная масса” лишнего лежит между кавычками (tppabs=”https://www.foscon-buy.ru/href.htm”)

Выражение tppabs=”.*” действительно работает. Но работает, мягко говоря, очень радикально. В качестве примера рассмотрим строчку из index.htm вышеуказанного сайта:

<a href=”href.htm” tppabs=”https://www.foscon-buy.ru/href.htm”><img border=”0″ src=”href.gif” tppabs=”https://www.foscon-buy.ru/href.gif” width=”126″ height=”41></a>

Почему я выделил именно так? Потому что regexp tppabs=”.*” дает право редактору выделить текст от собственно tppabs=” и прямо до самого последнего символа (двойные кавычки) в строке. А то как-то я сразу и не сообразил, почему после выполнения глобальной замены с сайта исчезла добрая треть содержимого :).

Но, после непродолжительно гугления и курения мануалов было найдено (та-дааам) решение! И вот он – полностью рабочий regexp: tppabs=”[^”]*”. Само собой, не забудьте пробельчик в начале :)

Давайте посмотрим, что именно хочет донести это выражение до редактора:

1. tppabs= – “Найди то, что начинается железно с этого…”;

2. – “…захвати первые двойные кавычки…”;

3. [^”] – “…потом, пожалуйста, выдели все символы до следующих двойных кавычек…”;

4. – “…и не забудь доесть те самые вторые двойные кавычки”.

Да, regexp’ы – штука сложная, но нужная. Если знать их наизусть, да ещё и Perl подучить, то можно… можно уже, пожалуй, жениться :).

За информацию спасибо.

https://www.tryboi.com/regulyarnye-vyrazheniya-dlya-notepad/
https://rschweppes.posterous.com/11399912

5 комментариев
  1. Телевизор

    чот не чо не пашет версия 5.9.8

  2. Телевизор

    а все рабобрался спасибо

  3. [^”] – это все кроме кавычек
    .* – * неограниченное повторение предыдущего символа а точка перед звездой означает любой символ
    .*? – выделить минимально возможный набор
    вот здесь подробнее
    https://help.adobe.com/ru_RU/dreamweaver/cs/using/WSc78c5058ca073340dcda9110b1f693f21-7bf1a.html#WSc78c5058ca073340dcda9110b1f693f21-7beca

  4. Добрый день! Подскажите, пожалуйста, как из слов расписанных в строку и разделенных пробелом сформировать столбец?

  5. Реально. Правильно писать как описано выше, я вот скачал один сайтик, решил удалить лишние теги от телепорт, удалял регулярные выражения в нотепад++, удалял вот так
    tppabs=”(.+?)”
    ага, правда, половина кода улетело, устал потом восстанавливать.
    Вот как то так.

Добавить комментарий




*