June 16

Инструкции для Notepad++

Регулярные выражения (RegEx) в Notepad++: полное руководство

Регулярные выражения (Regular Expressions, RegEx) — мощный инструмент для поиска и обработки текста с помощью специальных шаблонов. В Notepad++ они позволяют быстро находить, заменять и форматировать данные в больших файлах.

1. Основы регулярных выражений

1.1. Что такое RegEx?

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

  • Поиске и замене (Ctrl + H).
  • Валидации данных (например, email, номера телефонов).
  • Парсинге логов и конфигурационных файлов.

1.2. Как включить RegEx в Notepad++

  1. Откройте окно Поиска (Ctrl + F) или Замены (Ctrl + H).
  2. Внизу выберите режим "Регулярные выражения".
  3. Убедитесь, что стоит галочка ". соответствует переводу строки", если нужно искать с учетом \n.

2. Основные синтаксические конструкции

2.1. Символы и метасимволы

2.2. Квантификаторы (повторы)

2.3. Группы и обратные ссылки

  • ( ) — группировка символов.
  • \1, \2 — ссылка на группу в замене.

Пример:

  • Поиск: (\d{2})-(\d{2})-(\d{4}) (дата в формате дд-мм-гггг).
  • Замена: Год: \3, Месяц: \2, День: \1.

3. Практические примеры в Notepad++

3.1. Поиск email-адресов

\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b
  • \b — граница слова.
  • [A-Za-z0-9._%+-]+ — имя пользователя.
  • @ — символ "@".
  • [A-Za-z0-9.-]+ — домен.
  • \.[A-Za-z]{2,} — доменная зона (.com, .net).

3.2. Удаление пустых строк

  1. Поиск: ^\s*$.
  2. Замена: Оставить поле пустым.

3.3. Замена даты формата гггг-мм-дд на дд/мм/гггг

  1. Поиск: (\d{4})-(\d{2})-(\d{2}).
  2. Замена: \3/\2/\1.

3.4. Поиск всех HTML-тегов

<[^>]+>
  • < — начало тега.
  • [^>]+ — любой символ, кроме >.
  • > — конец тега.

4. Продвинутые техники

4.1. Жадные (*, +) и ленивые (*?, +?) квантификаторы

  • Жадный режим (по умолчанию) ищет максимально длинное совпадение:
regexCopyDownload<div>.*</div> → <div>text1</div> <div>text2</div>
  • Ленивый режим ищет минимальное совпадение:
regexCopyDownload<div>.*?</div> → <div>text1</div> (остановится на первом `</div>`)

4.2. Позитивная и негативная проверка

  • (?=...) — позитивный lookahead (ищет текст, за которым следует шаблон).
regexCopyDownload\d+(?= руб) → 100 руб (найдет "100")
  • (?!=...) — негативный lookahead (ищет текст, за которым НЕТ шаблона).
regexCopyDownload\d+(?! руб) → 100$ (найдет "100", но не "100 руб")

5. Полезные советы

Тестируйте RegEx в онлайн-сервисах (например, regex101.com).
✅ Используйте .*? вместо .*, чтобы избежать "жадного" захвата.
✅ Экранируйте спецсимволы: \., \?, \( и т. д.


Заключение

Регулярные выражения в Notepad++ — это мощный инструмент для обработки текста. Освоив базовый синтаксис, вы сможете:
✔ Автоматизировать поиск и замену в больших файлах.
✔ Обрабатывать логи, CSV, XML и другие структурированные данные.
✔ Ускорять рутинные задачи редактирования кода.

Попробуйте применить RegEx в своих проектах! 🚀