我已经获得了一个寻找一系列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] | 1([0-9] [0-9] )| 2([0-4] [0-9] | 5 [0-5]))$
这适用于什么范围,并以最快捷/最简单的方式获得它?
谢谢!
答案 0 :(得分:2)
在一般情况下,无法生成与任意正则表达式匹配的所有字符串。我怀疑是否有人为你的案件写了专门的工具。
无论如何,你的例子简单而惯用;它查找两个虚线八位字节值,即一位数,或两位数,或以1开头的三位数,或三位数,以2开头,后跟一位小于5的数字,或25后跟一位小于6的数字;换句话说,0-255。所以范围是192.22.0.0-192.22.255.255(192.22.0.0/16)。
答案 1 :(得分:0)
网络工具Regexplained可能会帮助您更好地理解正则表达式!
正如tripleee所提到的,正则表达式捕获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]))$