我已经获得了ip:port形式的ip地址列表,但其中一些是格式错误的,例如:
OCTETS ARE EXAMPLES, It doesn't matter that they are over 255
12.345.678.90:12345
58412.345.678.91:12391
12.345.678.92:1823
12.345.678.93:80
我想从第二个IP中删除额外的数字,使用正则表达式,因为它经常发生,我有〜2000个这些来过滤
我的第一个想法是找到:\r\n[0-9]{3,15}(.*\r\n[0-9]{1,3})
并替换为\2\1\2
,但似乎没有效果。
我必须假设下一行具有相同的前导数字,这是不必要的。如果任何人都可以向我展示一个只能修复它的解决方案,如果下一行带有包含在点之前的数字,那将非常值得赞赏。
编辑:我正在使用Notepad ++进行此正则表达式另外,即使你使用八位字节检测,如果我想要的数字是12,第一个八位字节是112,该怎么办?
答案 0 :(得分:0)
尝试用^\d+(\d{2}\.)
\1
答案 1 :(得分:0)
(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9]{1,2})\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9]{1,2})
这应匹配任何有效的IP地址。 (IE。不是“257.4.33.134”,因为257太大了)
注意:这不会与您的示例匹配,因为八位字节太大
欢迎使用StackOverflow!