在网上搜如何从字符串中提取 ip 地址,出来的全都是正则的实现。我想找一个不用正则的实现,支持 IPv4 和 IPv6 的提取,请大佬们指条明道
     1 
                    
                    hanxiV2EX      2020-09-28 00:13:41 +08:00 via Android 
                    
                    ipv4 可以遍历查找数字和点 
                 | 
            
     2 
                    
                    mikeguan      2020-09-28 00:26:36 +08:00 via Android 
                    
                    查找应该都算是用了正则 
                 | 
            
     3 
                    
                    lxilu      2020-09-28 00:30:46 +08:00 via iPhone 
                    
                    找个正则调试器,看正则是怎么运行的 
                 | 
            
     4 
                    
                    leishi1313      2020-09-28 01:14:53 +08:00 via Android 
                    
                    那你把正则展开成 if else 不就行了😂 
                 | 
            
     5 
                    
                    binux      2020-09-28 05:04:52 +08:00 via Android    手写正则文法解析器呗 
                 | 
            
     6 
                    
                    raaaaaar      2020-09-28 07:19:06 +08:00 via Android 
                    
                    先造一个正则的轮子,然后给它取名字为“反则” 
                 | 
            
     7 
                    
                    xJogger      2020-09-28 07:59:15 +08:00 via Android 
                    
                    找一个阿三程序员替你找。 
                 | 
            
     8 
                    
                    Rxianbei      2020-09-28 08:22:29 +08:00 via Android    emmm,先生成 1.1.1.1 到 255.255.255.255 的所有有可能的 ipv4 地址入库,然后再进行文本循环匹配,欧耶 
                 | 
            
     11 
                    
                    xiri      2020-09-28 09:05:11 +08:00 
                    
                    为什么不能用正则呢?正则底层也是很多的 if else 啊 
                 | 
            
     12 
                    
                    itechify   PRO emm...不熟悉正则还是怎么的。实现需求来说,搜索引擎答案大多推荐一个方案那么他是比较好实现且坑少,方案成熟,有 bug 也容易修复,不熟悉可以学习。如果单纯自己学习,尝试其他方法实现,应该可以造轮子,写一个算法获取字符串中的所有 0-9 和.的子字符串,每个进行 IP 规则匹配就行(.分割后 0~255 等规则) 
                 | 
            
     13 
                    
                    jjplay      2020-09-28 09:26:23 +08:00 
                    
                    IPV4 匹配 字符串 "." ,  然后搜该 "." 的下 1-3 位字符是不是(0-255)的数字,如此循环匹配 3 次 
                IPV6 匹配 字符串 ":" , 同上,缩写匹配字符串 "::"  | 
            
     14 
                    
                    glfpes      2020-09-28 09:27:57 +08:00 via iPhone 
                    
                    要是老板给我提这个需求,第一件事我要做的就是问他为啥不能用正则。 
                 | 
            
     15 
                    
                    abc0123xyz      2020-09-28 09:30:48 +08:00 
                    
                    雇几个视力还行的老头老太太,简单教一下,人眼识别。。 
                 | 
            
     16 
                    
                    chinvo      2020-09-28 09:34:39 +08:00 via iPhone 
                    
                    炼丹,生成随机假文本,然后随机在假文本中插入 IP 地址,最后一股脑喂给一个三层的网络,运气好的话比雇几个老头老太太要准一点 
                 | 
            
     17 
                    
                    netnr      2020-09-28 09:35:06 +08:00 
                    
                    抛弃最佳解决问题的方法,需要付出代价 
                 | 
            
     18 
                    
                    Hyseen      2020-09-28 09:40:43 +08:00 
                    
                    
                 | 
            
     19 
                    
                    ysc3839      2020-09-28 09:46:05 +08:00 via Android 
                    
                    去看编译原理,根据网上找到的正则表达式实现对应的自动机。 
                 | 
            
     20 
                    
                    dtgxx      2020-09-28 09:48:40 +08:00 
                    
                    你弄懂什么是流式处理了吗 
                 | 
            
     21 
                    
                    zu1k   OP @Hyseen 目前是这个想法,不知道工作量大不大,太大我就放弃了,牺牲计算机 cpu 来换我不秃头 
                @netnr 的确,目前关研究这个事就够烦人的了 @chinvo 炼金师 VS 老太太 @jjplay 实际深入到细节,还是有一些坑 @oneisall8955 目前用的正则,已经能够实现目前的需求了,但是我想重构后让我的程序功能和效率更加强大一些,也算是学习了吧 @xiri @leishi1313 我不想用递归下降了,我想查表 @lxilu 有这个想法了  | 
            
     22 
                    
                    zu1k   OP  | 
            
     23 
                    
                    ysc3839      2020-09-28 10:18:24 +08:00 
                    
                    @zu1k 个人理解流式处理是针对磁带机等无法进行随机存取的设备提出的,和批处理没关系,批处理是早期操作系统执行任务的概念。 
                https://zh.wikipedia.org/wiki/%E6%89%B9%E5%A4%84%E7%90%86%E4%BB%BB%E5%8A%A1  |