Как проверить регулярное выражение на тестовой строке и посмотреть совпадения
Введите регулярное выражение и непустой текст, при необходимости укажите поддерживаемые флаги и запустите проверку. Успешный результат содержит число совпадений, их позиции, найденный текст и группы захвата, если они предусмотрены выражением.
Обзор возможностей
Regex Tester помогает проверить регулярное выражение на выбранном образце текста и понять, где находятся найденные совпадения. Результат полезен не только для ответа «найдено или нет»: после успешной проверки можно посмотреть начальную и конечную позиции каждого фрагмента, сам найденный текст и содержимое групп захвата.
Такой подход подходит для уточнения шаблона номера заказа, даты, идентификатора или другого повторяющегося элемента. Подготовьте короткий текст, в котором есть подходящие и неподходящие варианты. На небольшом образце проще заметить, что выражение захватывает соседний символ, пропускает нужный фрагмент или даёт несколько совпадений вместо ожидаемого результата.
Для проверки предусмотрены поля регулярного выражения, текста и флагов. По условиям ввода они не обязательны и по умолчанию остаются пустыми, однако пустой шаблон приводит к ошибке. Если шаблон уже введён, пустой текст также не позволит выполнить проверку, поэтому перед запуском убедитесь, что в образце есть хотя бы один символ.
Порядок проверки
-
В поле регулярного выражения введите нужный шаблон. Например, запись
\d+предназначена для поиска последовательности цифр. Не вводите вместо выражения только поясняющий текст: проверяется именно заданный шаблон. Если его нельзя скомпилировать как регулярное выражение, проверка завершится ошибкой, и сведения о совпадениях не появятся. -
Вставьте в поле проверяемого текста непустой образец. Можно включить в него несколько строк или фрагментов, где совпадение ожидается, а также контекст, который не должен попасть в результат. Такой образец помогает оценить границы найденного текста, а не только наличие самого факта совпадения.
-
При необходимости заполните поле флагов. Символ
iвключает сопоставление без учёта регистра,mзадаёт многострочный режим,sпозволяет точке охватывать переводы строк,xвключает расширенный режим,uзадаёт Unicode-режим, аaзадаёт ASCII-режим. Придерживайтесь этого набора: прочие символы не активируют дополнительные режимы. -
Запустите проверку после заполнения шаблона и текста. При допустимом выражении и непустом образце инструмент выполнит поиск и сообщит об общем числе совпадений. Отсутствие найденных фрагментов не обязательно означает ошибку: успешная проверка может завершиться нулевым результатом.
-
Откройте сведения о каждом найденном фрагменте. Сверьте начальную и конечную позиции с исходной строкой, затем проверьте отображаемый текст. Отдельно изучите группы захвата: результат может содержать как нумерованные, так и именованные группы, если они заданы в выражении. После изменения шаблона повторите проверку на том же образце, чтобы сравнение оставалось понятным.
Чтение результата
Общее число совпадений показывает, сколько фрагментов инструмент обнаружил в проверяемом тексте. Начальная и конечная позиции позволяют проверить границы каждого результата и заметить захваченный случайно пробел, знак препинания или соседний символ. Поле с найденным текстом даёт возможность сопоставить фактический фрагмент с задуманным.
Полное совпадение и группа захвата имеют разное значение. Полный фрагмент относится ко всему выражению, тогда как группа показывает выделенную часть внутри него. Нумерованные группы удобно связывать с порядком скобок, а именованные группы помогают различать несколько смысловых частей результата по их названиям.
Допустимый статус проверки не подтверждает наличие хотя бы одного совпадения. Нулевое число означает, что выражение и текст были обработаны успешно, но подходящий фрагмент не найден. Ошибка до появления сведений о совпадениях может быть связана с пустым шаблоном, пустым текстом при заданном шаблоне или выражением, которое нельзя разобрать.
Если результат отличается от ожидания, сначала сравните образец с исходной задачей, затем проверьте регистр, переводы строк и выбранный режим Unicode или ASCII. Флаги могут изменить сопоставление, а неподдерживаемые символы в поле флагов не включают режим. Короткий текст с заранее понятными позициями облегчает ручную проверку результата.
Практический пример
Менеджер проверяет, выделяет ли выражение последовательности цифр в коротком сообщении о двух заказах и хочет увидеть структуру результата.
Введите шаблон \d+, вставьте текст «Заказ 17 отправлен, а заказ 204 ожидает оплаты», оставьте поле флагов пустым и запустите проверку. Затем откройте сведения по найденным фрагментам и сопоставьте их с исходным сообщением по позициям и тексту основного совпадения, не приписывая выражению группы, которых в нём нет.
После успешной проверки отображается допустимый результат с общим числом совпадений. Для каждого найденного фрагмента доступны начальная и конечная позиции, сам текст и сведения о группах захвата.
Ограничения
- Пустой шаблон вызывает ошибку, а пустой текст при заданном шаблоне также не проходит проверку. Некомпилируемое регулярное выражение не возвращает сведения о совпадениях.
Частые ошибки
- Причина: поле шаблона осталось пустым, текст не введён при заданном шаблоне либо выражение содержит ошибку синтаксиса. Исправление: задайте непустой образец, проверьте запись регулярного выражения и запустите проверку снова.
Частые вопросы
Можно ли проверить регулярное выражение на пустом тексте?
Если шаблон уже задан, пустой текст вызывает ошибку, поэтому вставьте хотя бы один символ. При непустом образце проверка способна завершиться успешно даже тогда, когда подходящих совпадений нет, и показать нулевой результат.
Какие сведения показывает результат совпадения?
После успешной проверки отображаются общее число совпадений, начальная и конечная позиции, найденный текст и группы захвата. Нумерованные и именованные группы показываются, когда они присутствуют в выражении.
Какие флаги поддерживаются?
Учитываются символы i, m, s, x, u и a, каждый со своим режимом сопоставления. Остальные символы в поле флагов не включают режим, поэтому их добавление не заменяет поддерживаемый флаг выбранного типа.