Для выбора пользователя я хотел бы предоставить список чисел, соответствующих заданному регулярному выражению. Само регулярное выражение очень просто он только может выглядеть следующим образом 123 [0-9] [0-9] или [4-9] 34,2Сгенерировать все совпадения для regex
я узнал, что Fare (https://github.com/moodmosaic/Fare) делает работа как-то. следующий пример:
string pattern = "123[0-9][0-9]";
var xeger = new Xeger(pattern);
var match = xeger.Generate(); //match is e.g. "12349"
К сожалению Fare Пб только дает мне один возможный матч, но не все 100 возможных комбинаций строка может иметь.
Если вы думаете, что регулярное выражение не является хорошей идеей в этом случае и скорее предложит реализацию for-loop, которая заменяет символы, я также собираюсь с этим, но в настоящее время я не знаю, как это сделать? Может быть, рекурсивная функция была бы умной?
Что можно ожидать от '[0-9] +' –
извините, не уверен, что вы имеете в виду 123 [0-9] [0-9] дает 12300, 12310,12311 и т. Д. – Kai
Но '[0-9] +' производит ** бесконечные ** результаты. Если вы знаете шаблон и если он * ограничен *, как в вашем примере, вам не нужно регулярное выражение. Вложенных двух циклов достаточно для for (int i = 0; i <10; i ++) {for (int j = 0; j <10; j ++) {}} '. –