在Ruby中使用通配符匹配字符串
我有一些IP地址:在Ruby中使用通配符匹配字符串,ruby,Ruby,我有一些IP地址: 127.0.0.1 192.168.* 200.* 如何简单地将给定IP地址与这些范围快速轻松地匹配。可能有上千种类似的模式。为了避免痛苦,您应该使用通配符,而不是字符串通配符。这是网络和正常IP范围的公认符号。在任何语言中,您都会发现这种表示法得到广泛支持 在您的情况下,网络将是 127.0.0.1/32 (or just simply 127.0.0.1) 192.168.0.0/16 200.0.0.0/8 您可以使用内置的IPAddr类或来解析它们 使用IPAdd
127.0.0.1
192.168.*
200.*
如何简单地将给定IP地址与这些范围快速轻松地匹配。可能有上千种类似的模式。为了避免痛苦,您应该使用通配符,而不是字符串通配符。这是网络和正常IP范围的公认符号。在任何语言中,您都会发现这种表示法得到广泛支持 在您的情况下,网络将是
127.0.0.1/32 (or just simply 127.0.0.1)
192.168.0.0/16
200.0.0.0/8
您可以使用内置的IPAddr
类或来解析它们
使用IPAddress gem,您可以执行以下操作(未经测试):
为了避免痛苦,应该使用通配符而不是字符串通配符。这是网络和正常IP范围的公认符号。在任何语言中,您都会发现这种表示法得到广泛支持 在您的情况下,网络将是
127.0.0.1/32 (or just simply 127.0.0.1)
192.168.0.0/16
200.0.0.0/8
您可以使用内置的IPAddr
类或来解析它们
使用IPAddress gem,您可以执行以下操作(未经测试):
以下内容应匹配:
\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b
以下内容应匹配:
\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b
这与来自stdlib的工作原理相同。这与来自stdlib的工作原理相同。