Notepad++ стал моим первым профессиональным инструментом в веб-разработке и создании сайтов.
И не потому что там есть множество инструментов для работы с исходным кодом, и не из-за обилия плагинов для Notepad++.
Всё проще — в те далёкие времена уроков по веб-дизайну было не так много, а Notepad++ был приведён в статейке по которой я упражнялся. Это было что-то вроде hello-world для HTML. ?
Ещё тогда меня удивил аскетичный интерфейс утилиты и обилие пунктов меню. И до сих пор Notepad++ это самый навороченный текстовый редактор, которым я ежедневно пользуюсь.
В Notepad++, среди прочего, большое внимание уделяется собственному языку регулярных выражений.
Зная как обозначить запрос специальными поисковыми операторами, в Notepad++ можно реализовывать довольно серьезные задачи и работать с большими массивами данных.
Регулярные выражения Notepad++
Регулярные выражения могут использоваться в Notepad++ для множества логических операция: сортировка строк, удаление дубликатов, поиск и замена как отдельных символов, так и целых логических конструкций. По сути горизонт возможностей такого функционала не ограничен и зависит только от вашей фантазии по его применению.
Я позволил себе отсортировать регулярные выражения для Notepad++ в порядке их надобности и популярности использования. ?
\n — Перенос Enter. Что особенно приятно, может использоваться не только для поиска, но и для замены. Например, благодаря этому регулярному выражению, и двум кликам, вы можете поменять построчный список на список через запятую, и наоборот.
\t — Табуляция. Означает то же, что и действие клавиши Tab. Очень полезно, если вы комбинируете работу в excel и notepad++. Знаки tab по умолчанию переносятся как колонки таблицы.
\n\r — Выражение для поиска пустых строк.
\s — Пробел. В большинстве случаем вы можете искать просто введя символ пробела в поле поиска Notepad++, однако в составе сложных регулярных выражений пригодится это обозначение. Например, конструкция ^\s*$ найдёт все строки с пробелом.
^ и $ — Символы начала и конца соответственно.
\d — Этим регулярным выражением в Notepad++ можно обозначить любую цифру. Учитывайте, что под цифрой подразумевается «единичный экземпляр», а не всё число. Например, применив эту комбинацию в тексте с числом 789, последовательно найдутся все три цифры (7, 8, 9) в этом числе.
.(точка) и .*(точка со звёздочкой) — Любой символ и любая последовательность оных соответственно.
\D — Также найдутся любые символы, но не цифры.
[a-z], [A-Z], [a-Z], [0-9] — На мой взгляд, всё и так понятно, но я поясню. Такие регулярные выражения в квадратных скобках означают последовательность букв или цифр, и регистр искомого выражения.
Примеры и применение регулярных выражений в Notepad++
Согласитесь, весь этот список на вид звучит довольно нудно и напоминает что-то среднее между высшей математикой и программированием. ? Мне стоит привести примеры использования регулярных выражений и символов Notepad++.
Удалить пустые строки в Notepad++
Удалить пустые строки с помощью текстового редактора Notepad++ просто — выше я уже писал регулярное выражение для этого — \n\r . Его необходимо ввести в окне поиска и замены. При этом поле Замены оставьте пустым. Все пустые строки удалятся из документа, их место займут данные располагающиеся ниже.
Либо, что конечно же проще, если ваше выражение больше никаких условий не требует, воспользуйтесь пунктом в меню. Edit => Line Operations => Remove empty lines. Там же есть и пункт для удаления пустых строк с пробелом: Containing Blank Characters.
Удалить всё после символа / перед символом в строке в Notepad++
Регулярное выражение удаление всех данных в строке до определенного символа, или их группы я часто использую, например, при сортировке маркетинговых баз с e-mail.
Для того чтобы в Notepad++ удалить всё в строке перед определенным символом, используйте комбинацию .+(искомая-часть). Давайте я разберу подробнее. Например, у нас есть txt файл с почтовыми адресами коллег, по одному адресу в столбик. Кроме того в этой же строке могут содержаться и ФИО человека через пробел, табирование, или через запятую.
Выглядит это вот так:
nastya@mail.ru Анастасия Евгеньевна Петрова
pasha@yandex.ru Павел Иванов Юрлица
vasya@notepad-plus-plus.ru Василий Павлович Работа
И таких контактов с списке у нас 500. Для того чтобы отделить домены, нам понадобится 2 действия в Notepad++, удалить всё в строках до определенного символа, а затем удалить всё в строках после.
Первая регулярное выражение для нас будет .+(@), в поле замены оставляем пустым.
Результат
mail.ru Анастасия Евгеньевна Петрова
yandex.ru Павел Иванов Юрлица
notepad-plus-plus.ru Василий Павлович Работа
Второе регулярное выражение Notepad для удаления после символа, можно сконфигурировать по доменному суффиксу, запрос будет (.ru.+)$.
yandex
notepad-plus-plus
Удалить дубликаты строк в Notepad++
Удаление дубликатов строк в Notepad++ это вообще отдельная большая тема. Мало кто знает как сконфигурировать поисковой запрос в текстовом редакторе и удалить повторяющиеся строки исключительно через Notepad++, не прибегая к помощи плагинов и сторонних расширений.
Но я — знаю ?. Чтобы удалить построчное дублирование в Notepad, используйте эту фразу:
^(.*?)$\s+?^(?=.*^\1$)
Важно, чтобы все галочки в поиске у вас были включены. И зациклить поиск, и применять регулярные выражения, тогда Notepad++ точно сработает как надо, и удалит из документа дубли строк.
Второй способ избавится от дублирования строк
Второй способ удалить дубликаты строк с помощью Notepad++ абсолютно не элегантен, но функционален при ежедневном использовании. Навигатор по репозиторию дополнений встроен прямо в ваш Notepad. Просто ставим плагин через меню Plugins => Plugin manager.
Нужный нам плагин называется TextFx Characters.
Не слишком сложно, правда? Устанавливаются плагины автоматически, нужно будет только перезагрузить утилиту. Жмёте установить и активировать.
Функционал плагина местами дублирует многие регулярные выражения в Notepad++, а по-моему мнению собственно на них и основан.
Настройка для удаления дубликатов строк находится в меню: Textfx => Tools => Sort Lines insensetive.
Не забудьте выделить данные в редакторе, перед тем как нажимать.
Notepad++: плагины и альтернативы.
Для начала про плагины. Как вы поняли, в Notepad++ система плагинов весьма интуитивна и встроена в редактор. Но, кроме того, существует и множество других дополнений от сторонних авторов — в этом одна из прелестей freeware софта. Пожалуй, я как-нибудь выложу их обзор, если вам будет интересна тема Notepad и эта статья придётся по вкусу.
Что касается альтернатив, Notepad++ любят за регулярные выражения, легкость, простоту и бесплатность. Такое сочетание вообще, пожалуй, единственное в этом кластере, потому лично я не вижу прямых конкурентов и альтернатив для Notepad.
Но если посмотреть на нишу шире, можно вспомнить про AkelPad (тоже текстовый редактор), Textmate, LeafPad, Sublime Text, Atom, Brackets…Так можно дойти и до моего любимого Adobe Dreamweaver. Однако, всё это по сути уже не то. Notepad++ неповторим, аскетичен, и по своему прекрасен, и очень в духе софта былых времён. ?
P.S. Если вам была полезна эта статья, оставьте коммент, и я буду знать что двигаюсь в правильном направлении. Или задавайте вопросы! welcome ⬇️⬇️⬇️