Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Ruby中使用通配符匹配字符串_Ruby - Fatal编程技术网

在Ruby中使用通配符匹配字符串

在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

我有一些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
类或来解析它们

使用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的工作原理相同。