Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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
Regex 如何快速确定正则表达式计算的ip范围_Regex_Ip_Expression_Range - Fatal编程技术网

Regex 如何快速确定正则表达式计算的ip范围

Regex 如何快速确定正则表达式计算的ip范围,regex,ip,expression,range,Regex,Ip,Expression,Range,我得到了一个正则表达式,它查找一系列IP地址。我可以坐下来手动确定它搜索的IP范围,但我想知道是否有一个工具可以帮我做到这一点。我发现有很多工具可以做相反的事情(获取ip范围并将其转换为正则表达式) 下面是一个正则表达式示例:^192.22([0-9]|[1-9][0-9]|1([0-9][0-9])2([0-4][0-9]|5[0-5])。([0-9]|[1-9][0-9][0-9]|1([0-9][0-9])2([0-4][0-9]|5[0-5]))$ 这适用于什么范围?最快/最简单的方法是

我得到了一个正则表达式,它查找一系列IP地址。我可以坐下来手动确定它搜索的IP范围,但我想知道是否有一个工具可以帮我做到这一点。我发现有很多工具可以做相反的事情(获取ip范围并将其转换为正则表达式)

下面是一个正则表达式示例:^192.22([0-9]|[1-9][0-9]|1([0-9][0-9])2([0-4][0-9]|5[0-5])。([0-9]|[1-9][0-9][0-9]|1([0-9][0-9])2([0-4][0-9]|5[0-5]))$

这适用于什么范围?最快/最简单的方法是什么


谢谢

在一般情况下,无法生成与任意正则表达式匹配的所有字符串。我也怀疑是否有人为你的案子写了专门的工具

不管怎样,你的例子很简单,也很地道;它查找两个虚线八位组值,它们是一位数字,或两位数字,或以1开头的三位数字,或以2开头的三位数字后跟小于5的数字,或25后跟小于6的数字;换句话说,0-255。因此范围是192.22.0.0-192.22.255.255(192.22.0.0/16)。

web工具可能会帮助您更好地理解正则表达式

如前所述,正则表达式捕获的IP范围为192.22.0.0到192.22.255.255

但是,由于句点(.)尚未转义,它还错误地捕获了如下字符串:

192.22.255
正则表达式应使用反斜杠更正为:

^192\.22\.([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))\.([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))$

谢谢你的评论。是的,我很了解正则表达式,我能弄明白。但是,我的队友/客户可能不会,他们希望提供一个简单的解决方案。@mpls423您尝试过我提供的Regexplained链接吗?我一直很难理解你的正则表达式,直到我把它插入到网络工具。是的,我知道了,谢谢你的链接。然而,我的问题并不是说我需要帮助理解它,而是我需要一个我的客户能够理解的解决方案。虽然这个网站对你或我都有帮助,但对我的客户来说,它是一种威胁。再次感谢。谢谢,我同意这很容易理解。我有一些客户可能不同意,但我希望能为他们提供一个快速解决方案。再次感谢