Якщо вам потрібно проаналізувати файл з великою кількістю символів, знайти потрібні символи та замінити їх, або видалити, то без регулярних виразів у цьому питанні не обійтися.
Наприклад, перед вами стоїть завдання видалити з файлу sitemap.xml всі записи з тегом <lastmod>. А в цьому файлі понад 9000 рядків. Не обробляти ж його вручну, щоб знайти всі записи, які підлягають видаленню?
Notepad++ та регулярні вирази
Для вирішення поставленої задачі можна використовувати програму Notepad++:
- Відкрийте файл sitemap.xml за допомогою Notepad++.
- Відкрийте Пошук → Замінити (або натисніть Ctrl+H).
- У вікні "Замінити", в налаштуваннях режиму пошуку, позначте "Регулярний вираз".
- У полі "Що шукати" введіть наступний регулярний вираз <lastmod>.*?</lastmod>\R.
- Переконайтеся, що в полі "Замінити на" немає символів. Воно має бути абсолютно порожнім.
- Натисніть "Замінити все".
Якщо ви зробили все правильно, то програма здійснить пошук та заміну всіх потрібних рядків.
Як працює регулярний вираз
За шаблоном <lastmod>.*?</lastmod>, програма шукає рядки, які починаються з тега <lastmod> і закінчуються тегом </lastmod>. Всередині цих тегів можуть бути будь-які символи.
А за допомогою \R ми видаляємо порожні рядки, які утворилися після видалення тегів <lastmod></lastmod> та їх вміст.
Увага!
Перед тим як проводити будь-які маніпуляції з файлом (в моєму випадку це sitemap.xml), обов’язково зробіть його резервну копію. Просто збережіть цей файл з іншим ім’ям. Якщо в ході видалення рядків щось піде не так, то ви нічого не втратите, адже у вас буде копія основного файлу.
