Регулярные выражения в Notepad++. Поиск и замена по маске с примерами

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

Если с тексте встречаются специальные символы [ ] \ / ^ $ . | ? * + ( ) { }, то в строке их необходимо экранировать \ обратным слэшем. Например текст <img src=\"http://wetweb.ru/\"> при работе с регулярными выражениями в строке поиска должен выглядить так <img src=\\"http:\/\/wetweb.ru\/\\">

. «точка» представляет один любой символ;

^ начало строки;

$ конец строки;

^$ пустая строка (начало и конец, между которыми пусто);

* «повторитель». Означает, что символ перед ним может повторяться 0 или более раз;

.* Абсолютно любой набор символов. Например, условие <span> .*</span> найдет все что между тегами <span> </span>;

+ «повторитель». Означает, что символ перед ним может повторяться 1 или более раз;

.+ любая не пустая строка;

\s  пробел;

\S  не пробел;

\w буква, цифра или подчёркивание _;

\d любая цифра;

\D любой символ, но не цифра;

\b граница слова;

\B не граница слова;

\bмок ищет набор символов «мок», только в начале слов, то есть в слове "мокро" будет найдено, а в слове "замок" нет;

мок\b ищет набор символов «мок», только в конце слов, то есть в слове "мокро" не будет найдено, а в слове "замок" найдёт;

\Bмок\B Ищет набор символов «мок», не в начале ни в конце слов, то есть не в слове "мокро" ни в слове "замок" не найдёт, а вот в слове "намокни" будет найдено;

[0-9] любая цифра;

[a-z] любая буква от a до z (весь латинский набор символов) в нижнем регистре;

[A-Z] любая буква от A до Z в ВЕРХНЕМ регистре;

[a-zA-Z] или [a-Z] любая буква от a до z в ЛюБоМ регистре;

(^.*$) Любой текст между началом и концом строки;

([0-9][0-9]*.)  ищет любые цифры, в данном случае двухзначные цифры;

\n ищет символ новой строки;

\r ищет пустые строки содержащий символы «перевод каретки» ;

^$ ищет пустые строки

\n\r ищет пустые строки содержащий символы — символ новой строки и «перевод каретки»

\s ищет класс пробельных символов. К пробельным символам относятся пробел, символ табуляции, возврат каретки, символ новой строки и символ перевода страницы. То же самое, что и [ \t,\r,\n,\f];

\S Ищет класс не пробельных символов. То же самое, что и [^ \t, \r,\n,\f];

^\s*$ Ищет пустые строки содержащие пробел;

^[ ]*$  Ищет пустые строки содержащие пробел;

^Слово  Ищет слово «Слово» в начале строки;

Слово$ Ищет слово «Слово» в конце строки;

| — Регулярное выражение, «или».  Будет искать то что слева и справа.

Все материалы сайта не претендуют на безусловную правильность, а являются лишь примерами решения некоторых задач.
Copyright © 2025 wetweb.ru