В моем приложении пользователь может ввести свой собственный regex шаблон в текстовое поле, таким образом, он может вызвать определенный вход для другого пользователя/текстового поля. Для пользователя действительно ли возможно видеть пример строки, которая соответствовала бы regex, который он ввел? Например, если он должен был войти: ^[A-Z]{2}$
, это генерировало бы строку как"XX
"чтобы показать пользователю, он может только ввести две прописных буквы.
Если бы нет никакого простого способа выполнить это (и я предполагаю, что нет), как трудный это должно было бы создать? Или что-то вроде этого уже существует?
Проверьте 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