Действительно ли возможно генерировать строку в качестве примера на основе regex шаблона?

В моем приложении пользователь может ввести свой собственный regex шаблон в текстовое поле, таким образом, он может вызвать определенный вход для другого пользователя/текстового поля. Для пользователя действительно ли возможно видеть пример строки, которая соответствовала бы regex, который он ввел? Например, если он должен был войти: ^[A-Z]{2}$, это генерировало бы строку как"XX"чтобы показать пользователю, он может только ввести две прописных буквы.

Если бы нет никакого простого способа выполнить это (и я предполагаю, что нет), как трудный это должно было бы создать? Или что-то вроде этого уже существует?

14
задан Pontus Gagge 28 June 2010 в 09:22
поделиться

1 ответ

Проверьте Xeger. Похоже, он может делать то, что вы хотите. Правда, она на Java.

Вот пример из набора тестов:

   @Test
    public void shouldGenerateTextCorrectly() {
        String regex = "[ab]{4,6}c";
        Xeger generator = new Xeger(regex);
        for (int i = 0; i < 100; i++) {
            String text = generator.generate();
            assertTrue(text.matches(regex));
        }
    }

Обновление: благодаря Nikos Baxevanis, dk.brics.automaton был перенесен на C# по адресу https://github.com/moodmosaic/Fare

8
ответ дан 1 December 2019 в 13:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: