我有大量IP范围列表,其中每个范围都用连字符分隔并放在新行中,并且我只需要将IP保持在相同的3级范围内:50.197。62 .0-50.197。62 .255,但不是50.197.62.0-50.197.73.125,等等。到目前为止,还没有弄清楚如何做到这一点。我真的很感谢您的帮助。谢谢。
其他示例。
想要保留:
4.49.119.0-4.49.119.255
12.161.203.64-12.161.203.79
23.25.83.201-23.25.83.201
24.23.113.0-24.23.113.255
38.101.137.0-38.101.137.255
38.107.144.0-38.107.144.255
38.107.146.0 -38.107.146.255
50.73.187.0-50.73.187.216
想与正则表达式匹配,所以我可以删除它们:
64.58.246.0-64.58.247.255
66.212.138.0-66.212.140.255
67.172.21.0-67.172.23.255
67.186.41.128-67.186.50.115
68.235.192.0-68.235.223.255 70.89
。 104.0-70.89.105.87
71.16.71.96-71.16.72.103
71.60.156.12-71.60.162.255
71.162.15.128-71.162.12.98
72.22.23.0-72.22.24.127
如果您希望匹配以“ 50.197.62”开头的任何IP地址,则可以执行以下操作:
/50\.197\.62\.\d{1,3}/
通常在IP地址中指定范围是这样完成的:50.197.62.0/24
它称为CIDR表示法,您可以在此处阅读有关此内容的更多信息:https : //networkengineering.stackexchange.com/questions/3697/the-slash-after-an-ip-address-cidr-notation
编辑:
在了解了您希望匹配整个字符串“ ip-ip”之后,它变得更加清晰了。
/(\d{1,3}\.\d{1,3}\.\d{1,3}\.)\d{1,3}-\1\d{1,3}/g
演示:https://regex101.com/r/cO1nQ6/1
编辑2:
逆转:
/^(\d{1,3}\.\d{1,3}\.\d{1,3}\.)\d{1,3}-(?!\1)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/gm
这需要m
多行标志来强制搜索从行首开始。我也应该在其他方面使用它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句