检查正则表达式是否是另一个或相等的子集

时间:2015-12-31 01:21:30

标签: ruby regex

我有一个页面,用户可以在其中为白名单添加IP地址,如果它是有效的IP,则会验证其格式。

我想添加功能,以便也可以输入正则表达式。我想验证正则表达式是否匹配有效的IP地址(即,用户输入的正则表达式是代码中指定的正则表达式的子集)。

IP_Regex:^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$

示例:用户必须输入符合IP_Regex规范的字符串(例如10.111.111.111)或其子集(例如12(?>\.\d{1,3}){3}

我不知道该如何解决这个问题。大多数帖子似乎只是引用数学理论,但没有提到在编程时如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

我不认为允许用户输入正则表达式是危险的,因此您不必100%准确。

因此,我会随机生成一些稍微无效的ips,并确保正则表达式失败。