Lumpics lumpics.ru

Применение регулярных выражений в программе Notepad++

Программирование – довольно сложный, кропотливый, и, зачастую, монотонный процесс, в котором не редко приходится повторять одни и те же или похожие действия. Чтобы максимально автоматизировать и ускорить поиск и замену похожих элементов в документе, в программировании была изобретена система регулярных выражений. Она в значительной мере позволяет сэкономить время и силы программистов, веб-мастеров, а иногда и представителей других профессий. Давайте выясним, как регулярные выражения применяются в продвинутом текстовом редакторе Notepad++.

Скачать последнюю версию Notepad++

Понятие регулярных выражений

Прежде чем приступить к изучению применения регулярных выражений в программе Notepad++ на практике, давайте подробнее узнаем суть данного термина.

Регулярные выражения – это особенный язык поиска, применяя который можно производить различные действия над строками документа. Делается это при помощи специальных метасимволов, при вводе которых производится поиск и выполнение манипуляций по принципу шаблонов. К примеру, в Notepad++ точка в виде регулярного выражения представляет любой знак из всего множества существующих символов, а выражение [A-Z] – любую заглавную букву латинского алфавита.

В различных языках программирования синтаксис регулярных выражений может отличаться. В текстовом редакторе Notepad++ используются те же значения регулярных выражений, что и в популярном языке программирования Perl.

Значения отдельных регулярных выражений

Теперь познакомимся с наиболее часто употребляемыми в программе Notepad++ регулярными выражениями:

Регулярное выражение Описание
. Любой единичный символ
[0-9] Любой символ в виде цифры
\D Любой символ, кроме цифры
[A-Z] Любая заглавная буква латинского алфавита
[a-z] Любая строчная буква латинского алфавита
[a- Z] Любая из букв латинского алфавита в независимости от регистра
\w Буква, подчеркивание или цифра
\s Пробел
^ Начало строчки
$ Окончание строчки
* Повторение символа (от 0 до бесконечности)
\4 \1 \2 \3 Повторение символа (от 0 до бесконечности)
^\s*$ Поиск пустых строк
([0-9][0-9]*.) Поиск двузначных чисел

На самом деле существует довольно большое количество символов регулярных выражений, и охватить их в одной статье невозможно. Значительно больше их различных вариации, которые программисты и веб-дизайнеры применяют при работе с программой Notepad++.

Практическое использование регулярных выражений

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

Пример 1: Поиск

Рассмотрим, как применяются регулярные выражения для поиска определенных элементов.

  1. Чтобы начать работу с регулярными выражениями, переходим в раздел «Поиск» и в появившемся списке выбираем пункт «Найти».
  2. Переход в окно поиска в программе Notepad++
  3. Перед нами открывается стандартное окно поиска в программе Notepad++. Доступ к нему также можно получить, нажав сочетания клавиш Ctrl+F. Обязательно активируем кнопку «Регулярные выражения», чтобы работать с данной функцией.
  4. Включение регулярных выражений в окне поиска в программе Notepad++
  5. Найдем все цифры, содержащиеся в документе. Для этого в строку поиска вводим параметр [0-9] и жмем на кнопку «Искать далее». При каждом нажатии по данной кнопке будет подсвечиваться следующая цифра, встречающаяся в документе сверху вниз. Переключение на режим поиска снизу вверх, который имеется возможность осуществлять при использовании обычного способа поиска, при работе с регулярными выражениями не может быть применено.
  6. Поиск цифр в программе Notepad++
  7. Если нажать на кнопку «Найти все в текущем документе», все результаты поиска, то есть цифровые выражения в документе, будут выведены в отдельном окне.
  8. Запуск поиска с выводом результатов в отдельном окне в программе Notepad++
  9. А вот и результаты поиска, выведенные построчно.
  10. Результаты поиска в программе Notepad++

Пример 2: Замена символов

В программе Notepad++ можно не только производить поиск символов, но и выполнять их замену с помощью регулярных выражений.

  1. Для запуска данного действия переходим во вкладку «Заменить» окна поиска.
  2. Переход во вкладку Заменить  в программе Notepad++

  3. Сделаем перенаправление внешних ссылок через редирект. Для этого в графе «Найти» проставляем значение «href=.(http://[^'»]*)», а в поле «Заменить»«href=»/redirect.php?to=1″». Жмем на кнопку «Заменить всё».
  4. Замена в программе Notepad++
  5. Как видим, замена выполнена удачно.
Результаты замены в программе Notepad++

А теперь давайте применим поиск с заменой при помощи регулярных выражений для операций не связанных с компьютерным программированием или версткой веб-страниц.

  1. Имеем список лиц в формате ФИО с датами рождения.
  2. Список лиц в программе Notepad++
  3. Переставим даты рождения и имена людей местами. Для этого в графе «Найти» пишем «(\w+) (\w+) (\w+) (\d+.\d+.\d+)», а в графе «Заменить» — «\4 \1 \2 \3». Жмем на кнопку «Заменить всё».
  4. Перестановка мест в списке  в программе Notepad++
  5. Как видим, замена выполнена успешно.
  6. Результаты перестановки  в программе Notepad++

Мы показали самые простые действия, которые можно выполнить, используя регулярные выражения в программе Notepad++. Но с помощью данных выражений профессиональные программисты осуществляют и довольно сложные операции.

Обсудить в TelegramНаш Telegram каналТолько полезная информация
Автор статьи Вы на сайте: Статья обновлена: . Автор: Максим Тютюшев

Вам помогли мои советы?

Получить ответ на Email
Уведомить о

8 ответов
По рейтингу
Новые Старые
Межтекстовые Отзывы
Посмотреть все комментарии
Евлампий
1 января 2022 03:03

Как к первому слову списка слов добавить определённый символ (букву, цифру, знак)

Аноним
2 октября 2024 10:36
Ответить на  Евлампий

тут можно и без регулярок, — использовать extended search mode (\\r, \\n…): каждый перенос строки заменять на перенос строки + подстрока для вставки:
«\\r\\n» → «\\r\\n_NEW_»

2024-10-02_12-35-45
Стас
24 марта 2023 07:21

Мне нужно было удалить куски кода

          <price>
            <value>1670</value>
            <quantity>30.0000</quantity>
          </price>

Я написал так:
Найти:
\s*<price>\s*<value>.*</value>\s*<quantity>.*</quantity>\s*</price>
Заменить на:
ПУСТО (ничего не пишем)

Все сработало как надо, удалил несколько сотен таких кусков с разными значениями чисел. Возможно есть способ и лучше, но я решил проблему так.

111.PNG
Rallatot
7 декабря 2023 13:41
Ответить на  Стас

Интересный вариант.
Я рекомендую использовать спец.символы для регулярных выражений в паре, а именно: \r\n (это конец строки и перенос каретки). Не работал с многотысячными строками кода, но, думаю, будет чуть быстрее обрабатываться и исключит возможные непредвиденные замены.

Gamer
24 октября 2016 19:39

Оооо, вы просто не представляете как вы мне помогли) когда пользовался нотепадом, т не замечал этой галовчки в поиске. И видимо зря. В моей рабцоте эта функция пригодится для применения. Можно очень быстро очистить строки от лишних и пустых пробелов. Пока еще не полностью разобрался со всеми возможностяими этой функции, поэтому пока добавлю статьюв заклдки, потом почитаю)

Равиль.ravil19550301mrm@mail.ru
4 января 2018 19:29

Как в нотепаде одинаковые выражения,находящиеся в разных строках кода,одновременно переместить на строку вверх?Например:
1) X123
2) G0Y123
3) X0
4) X324
5) G0Y324
6) X0
то есть,все X0 сразу переместить на строку выше выражения G0.
Спасибо.
С уважением Равиль.

Владимир
17 февраля 2020 19:23

Notepad++ Как можно в документе найти все строки например с ‘456’ в кавычках все числа разные, и они трёхзначные и заменить одновременно на другой символ, например $, чтобы получилось вместо ‘456’ зачок $ ?

Аноним
5 мая 2021 15:22
Ответить на  Владимир

‘\d\d\d’ меняй на ‘\$’
или
‘\d{3}’ меняй на ‘\$’

если надо $ без кавычек то меняй на \$

Задать вопрос