Я пытаюсь создать систему, в которой я могу преобразовать значения RegEx в целые числа и наоборот. где ноль будет самым основным регулярным выражение (вероятно "/./"
), и все последующие цифры будут более сложные регулярные выражения-хRegExp Counting System
Моим лучшим подход до сих пор был придерживаться всех возможных значений, которые могут содержаться в регулярном выражении в массив:
values = [ "!", ".", "\/", "[", "]", "(", ")", "a", "b", "-", "0", "9", .... ]
, а затем извлечь из этого массива следующим образом:
def get(integer)
if(integer.zero?)
return '';
end
integer = integer - 1;
if(integer < values.length)
return values[integer]
end
get((integer/values.length).floor) + get(integer % values.length);
end
sample_regex = /#{get(100)}/;
Самая большая проблема с этим подходом является то, что недопустимый RegExp легко могут быть получены.
Есть ли уже установленный алгоритм для достижения того, что я пытаюсь? если нет, какие-либо предложения?
Thanx
Стив
Как бы я «объединил их с правилами регулярных выражений»? словарь Regex не будет соответствовать моей цели, так как мне нужен бесконечный диапазон регулярных выражений. Начиная с наименее сложной формы и все более и более сложной по отношению к бесконечности. – Stefan