Перейти к основному содержимому

Тестер регулярных выражений


Описание.

Регулярные выражения — это своеобразный фильтр для поиска текстовых строк, соответствующий требуемым условиям.

Наш встроенный конструктор позволит быстро создавать правила, не вникая во все тонкости их составления.

Где используются регулярные выражения?

  • Извлечение информации со страниц сайта;
  • Фильтрация данных в списках, таблицах;
  • Поиск письма или ссылки подтверждения регистрации;
  • Нахождение конкретного фрагмента в тексте;
  • Определение строк для удаления в списках;
  • И множество других полезных применений.

Конструктор регулярных выражений.

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

Как открыть?

Есть два способа.

Через Панель инструментов.

Через Панель инструментов

В выпадающем списке раздела «Инструменты».

В выпадающем списке


Работа с окном.

Вкладки.

Вкладки

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

История.

История

Сюда сохраняются все выражения, которые ранее были проверены через кнопку Тест.

Текст регулярного выражения.

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

Текст регулярного выражения

При внесении изменений в любой из пунктов «Помощника».

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

Кнопка «Тест».

После нажатия этой кнопки составленное выражение применится к нашему Тексту для обработки, а итоговый текст отобразится в Результате обработки.

Кнопка «Тест»

Перед искомым текстом всегда есть|Это идёт после искомого текста.

Задаём то, что есть До и После текста, который мы хотим найти. Содержимое не будет включёно в результат работы выражения.

Искомый текст всегда начинается с|Этим заканчивается искомый текст.

Тут указываем то, с чего будет начинаться, и чем заканчиваться итоговый текст. Содержимое войдёт в результат работы выражения.

Разрешить переносы.

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

Самое короткое совпадение.

При включении данной опции результат выдаст нам самое короткое значение, которое соответствует составленному выражению.

Текст для обработки.

Сюда вводим текст, из которого мы будем брать нужный нам фрагмент.

Значение для данного поля можно вставить прямо из переменной.

вставить прямо из переменной

В выпадающем списке отобразятся только переменные текущего проекта.

Показывать специальные символы.

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

ВыключеноВключено
ВыключеноВключено

Результат обработки.

  • Вкладка «Совпадения».
    Здесь отобразится результат применения регулярного выражения к тексту.
  • Вкладка «Группы».
    Сюда попадут результаты работы после применения групповых регулярных выражений.

Пример использования.

В качестве примера возьмём конкретную и частую задачу — парсинг ссылок. Допустим, что мы получили HTML-разметку страницы и теперь хотим спарсить все ссылки из этого кода, а затем сохранить их в Список.

Пример использования

1. Вставляем в поле наш исходный код, из которого мы будем доставать ссылки.
2. Указываем тег, который обычно идёт перед ссылкой — a href=”.
3. Добавим кавычки, которыми закрывается строка с ссылкой, и включим опцию Самое короткой совпадение, ведь нам нужно собрать строку только между двумя крайними кавычками.
4. Протестируем полученное выражение и посмотрим на список ссылок, которые нам удалось достать. Если же ничего не получилось, то попробуйте изменить условия поиска.
5. Теперь можем скопировать готовое регулярное выражение и применить его в своём шаблоне.

Регулярное выражение ищет столько подстрок, сколько есть в тексте.

Если нужно взять какой-то конкретный номер совпадения, обратите внимание на *диапазоны.


Символы со специальным значением.

Большинство символов в регулярных выражениях означают сами себя, но исключением являются Специальные символы.
Например, эти — [ ] \ / ^ $ . | ? * + ( ) { }.

Они могут быть экранированы символом \, тогда они также станут представлять сами себя в тексте.

Из этого следует, что простейшее регулярное выражение выглядит так — abc. И ему соответствует строка — abc.

Спец. символЗначениеПримерРезультат
*Число повторений символа, который стоит ДО (включая 0 и больше)ab*cabc, abbc, ac
.Подставляется один любой символ (кроме символа новой строки)a.caac, abc, acc
+Число повторений символа, который стоит ДО (ОТ 1 и больше)ab+cabc, abbc, abbbbc
?Число повторений символа, который стоит ДО (ТОЛЬКО 0 или 1)a?cabc, ac
|Оператор ИЛИa | b | ca, b, c
()Группировкаzennolab(com)+zennolabcom, zennolabcomcom
[]Список символов, один из которых может присутствовать в текстеzennoposter[57]zennoposter5, zennoposter7
[^]Список символов, которые не входят в указанный набор[^0-9]abc 123
-Диапазон символов (используется в квадратных скобках)[3-7], [а-д]3, 4, 5, 6, 7, а, б, в, г, д
^Начало строки^aaaa aaa
$Конец строкиa$aaa aaa
{}Количество повторений предыдущего символа. {n}n раз; {m,n} — от m до n включительно; {m,} — не менее m раз; {,n} не более n раз.zen{2}oposter, (abc){2,3}zennoposter, abcabc abcabcabc
\Экранирование специальных символовa\.b\.ca.b.c
\bГраница словаa\b, \bazennola, ab
\BНе граница слова (любые символы кроме тех, что на границе)\Bazennolab
\sПробельный символaaa\s?bbb (один или ноль пробелов)aaa bbb, aaabbb
\SНепробельный символ (любые символы без пробелов и табуляций)a\S+bcaaabc
\dЦифровой символabc\d+abc123
\DНецифровой символ (любые символы кроме цифр)abc123\D+abc
\wЛюбой буквенный или цифровой символ, включая знак _\w+abc_123
\WCимволы, кроме буквенного, цифрового или _ (то есть пробелы или прочие символы)\W+₽ @$ &
\rВозврат каретки. Этот символ используется для перемещения курсора в начало строки, но не создаёт новую строку.Hello, World!\n This is a test.\rThis is a test.
\nПеревод строки. Создаёт новую строку.This is a test.\r Another line.\nAnother line.
\tЗнак табуляции, создание отступов.Name\tAge\tCityName Age City

Модификаторы.

Они действуют с момента вхождения и до конца регулярного выражения или противоположного модификатора.

МодификаторДействие
(?i)Включает нечувствительность к регистру
(?-i)Выключает нечувствительность к регистру
(?s)Включает режим, когда точка соответствует символам переноса строки.
(?-s)Выключает режим, когда точка соответствует символам переноса строки.
(?m)Многострочный поиск. Символы ^ и $ вызывают соответствие только до и после символов новой строки.
(?-m)Многострочный поиск. Символы ^ и $ вызывают соответствие только с началом и концом текста.
(?x)Включает режим без учёта пробелов между частями регулярного выражения. Позволяет использовать # для комментариев.
(?-x)Выключает режим без учёта пробелов между частями регулярного выражения. Запрещает использовать # для комментариев.

Просмотр вперёд и назад.

Поиска фрагмента текста. Просматривает окружающий текст (до или после искомого фрагмента ), но не включает его в результат.

Отрицательный просмотр используется реже. Он наоборот отслеживает, чтобы указанные соответствия не встречались до или после искомого текстового фрагмента.

ВыражениеТип просмотраПримерСоответствие
(?=шаблон)Позитивный просмотр вперёдЛюдовик(?=XVI)ЛюдовикXV, ЛюдовикXVI, ЛюдовикXVIII, ЛюдовикLXVII, ЛюдовикXXL
(?!шаблон)Негативный просмотр вперёд (с отрицанием)Людовик(?!XVI)ЛюдовикXV, ЛюдовикXVI, ЛюдовикXVIII, ЛюдовикLXVII, ЛюдовикXXL
(?<=шаблон)Позитивный просмотр назад(?<=Сергей )ИвановСергей Иванов, Игорь Иванов
(?<!шаблон)Негативный просмотр назад (с отрицанием)(?<!Сергей )ИвановСергей Иванов, Игорь Иванов

Сборник полезных регулярных выражений.

E-mail адрес.

(?i)[A-Z0-9._%+-]+@[A-Z0-9-]+.+.[A-Z]{2,4}

Номер телефона.

+?(\d{1,3})?[- .]?(?(?:\d{2,4}))?[- .]?[\d-]{5,9}

IP адрес.

(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)

URL адрес.

(https?:\/\/)?([\w\.]+)\.([a-z]{2,6}\.?)(\/[\w\.]*)*\/?

Извлечение имени и расширения файла из пути.

(?<=\\)[^\.\\]*(\.[^\.]+){1,}$

Полезные ссылки.