В python я ищу код python, который я могу использовать для создания случайных данных, соответствующих любому регулярному выражению. Например, если регулярное выражениеГенератор случайных данных mathing regex в python
\d{1,100}
Я хочу иметь список случайных чисел со случайной длиной от 1 до 100 (равномерно распределенных)
Есть некоторые «регулярные выражения инверторов» доступны (см here), которые вычисляют ВСЕ возможные совпадения, чего я не хочу, и которые крайне невыполнимы. Например, пример выше имеет более 10^100 возможных совпадений, которые никогда не могут быть сохранены в списке. Мне просто нужна функция, чтобы возвращать совпадение случайным образом.
Возможно, имеется пакет, который можно использовать для этого? Мне нужна функция, которая создает соответствующую строку для ANY regex, а не только одного или другого, но может быть 100 различных регулярных выражений. Я просто не могу закодировать их сам, я хочу, чтобы функция извлекла шаблон, чтобы вернуть мне соответствующую строку.
Является ли '\ d {1,100}' реальным примером? Не могли бы вы вставить некоторые из них, с которыми вы работаете в реальности? Если регулярное выражение не слишком * нечеткое, вы можете создать случайную строку, близкую к соответствующему выражению, и отбросить ее, если она не совпадает. –
Приведенный пример - пример 'a'. Я еще не знаю, что мне нужно. Это может быть намного сложнее, чем '[A-C] {2} \ d {2,20} @ \ w {10,1000}'. – Alex
Какое распределение вы хотите по возможным строкам? Например, для вашего примера, хотите ли вы, чтобы большинство случайных результатов составляли 100 цифр (поскольку 90% действительных строк соответствия будут иметь много)? Или вы хотите, чтобы каждая длина происходила с одинаковой вероятностью? – Blckknght