Познавательный блог Мобильная врсия

Страницы

Промо

Регулярные выражения к Notepad++

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

Комментарии

Комментарий от Телевизор [ 22 апреля, 2012, 15:00 ]

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

Комментарий от Телевизор [ 23 апреля, 2012, 01:31 ]

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

Комментарий от Norbert [ 17 мая, 2012, 09:15 ]

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

Комментарий от Дмитрий [ 26 августа, 2014, 00:27 ]

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

Комментарий от виталий [ 12 октября, 2015, 18:18 ]

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

Написать комментарий








Поиск по сайту

Статистика

Мета

  Разработка и дизайн — StvPromo.ru