Pinery: Генерация на основе регулярных выражений Perl

Введите регулярное выражение Perl:

Максимальное время генерации (секунды) :

Максимальное количество генерируемых тестов:

Максимальный размер '*'-списков и '+'-списков:

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

Комбинировать элементы как прямое произведение (только в режиме итерации)
Комбинировать элементы как 'диагональ' (кортежи: все n-ые элементы)

Показать результат на web-странице
Получить результат в виде zip-архива


Инструмент Pinery предназначен для генерации тестовых данных сложной структуры на основе описаний в виде грамматик (к таким описаниям относятся, например, BNF, регулярные выражения, DTD и т.п.). Данный сервис позволяет генерировать тесты на основе регулярных выражений Perl (их описания дступны как на английском, так и на русском языках).

В Pinery поддерживаются следующие конструкции регулярных выражений Perl:
. Любой символ
| Конструкция выбора (альтернатива)
[...] Символьный класс
[^...] Инвертированный символьный класс
\t Символ табуляции
\w Символ слова: [a-zA-Z_] (цифры не включены)
\W Символ не-слова: [^a-zA-Z0-9_] (цифры также не включены)
\s Пробельный символ: [ \t]
\S Инвертирование \s
\d Цифра: [0-9]
\D Инвертирование \d
? Опциональный элемент
* Список длины >= 0
+ Список длины >= 1
{size} Список длины = size
{min,} Список длины >= min
{min,max} Список длины >= min и <= max

Как внутри, так и вне символьных классов поддерживается экранирование (символом '\') служебных символов (таких как '[', '(', '\' и пр.).

Символы начала и конца строки (^ и $) распознаются, но игнорируются.

Обращаем внимание, что все модификаторы (кроме {size}) при генерации интерпретируются как минимальные (т.е. "не жадные"). Так, например, по регулярному выражению 'a*.' может быть сгенерирована строка 'aaa'. В этом примере для генерации корректной строки следует модифицировать выражение: 'a*[^a]'.

Copyright © 2006 Институт системного программирования Российской академии наук