Rails:将新(字符串)IP地址与通配符IP地址数组匹配

时间:2015-04-04 20:04:56

标签: ruby-on-rails ruby regex match

如何为包含通配符(192.168.1。*)的某些禁止IP列表与Ruby中的某个新IP地址的字符串匹配构造正则表达式?

1 个答案:

答案 0 :(得分:1)

您可以使用Regexp#union。像这样:

ips = %w(192.168.1.* *.0.0.0 127.0.0.1)
re = Regexp.union(ips.map { |i| Regexp.new(i.gsub('*', '\d+')) })

'192.168.1.2' =~ re