我正在尝试创建一个可以将 RegEx 值转换为整数的系统,反之亦然。其中零是最基本的正则表达式(可能 "/./"
),任何后续数字都是更复杂的正则表达式
到目前为止,我最好的方法是将正则表达式中可能包含的所有可能值粘贴到数组中:
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 )}/;
这种方法的最大问题是很容易生成无效的正则表达式。
是否有已经建立的算法来实现我正在尝试的目标?如果没有,有什么建议吗?
感谢
史蒂夫