跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 如何从字符串中提取 ip 地址(不用正则)
未分類
2020 年 10 月 1 日

如何从字符串中提取 ip 地址(不用正则)

如何从字符串中提取 ip 地址(不用正则)

資深大佬 : zu1k 2

在网上搜如何从字符串中提取 ip 地址,出来的全都是正则的实现。我想找一个不用正则的实现,支持 IPv4 和 IPv6 的提取,请大佬们指条明道

大佬有話說 (23)

  • 資深大佬 : hanxiV2EX

    ipv4 可以遍历查找数字和点

  • 資深大佬 : mikeguan

    查找应该都算是用了正则

  • 資深大佬 : lxilu

    找个正则调试器,看正则是怎么运行的

  • 資深大佬 : leishi1313

    那你把正则展开成 if else 不就行了

  • 資深大佬 : binux

    手写正则文法解析器呗

  • 資深大佬 : raaaaaar

    先造一个正则的轮子,然后给它取名字为“反则”

  • 資深大佬 : xJogger

    找一个阿三程序员替你找。

  • 資深大佬 : Rxianbei

    emmm,先生成 1.1.1.1 到 255.255.255.255 的所有有可能的 ipv4 地址入库,然后再进行文本循环匹配,欧耶

  • 資深大佬 : jay4497

    @Rxianbei 他还要 IPv6 的 [:doge:]

  • 資深大佬 : zxCoder

    @jay4497 没问题,就多几位

  • 資深大佬 : xiri

    为什么不能用正则呢?正则底层也是很多的 if else 啊

  • 資深大佬 : oneisall8955

    emm…不熟悉正则还是怎么的。实现需求来说,搜索引擎答案大多推荐一个方案那么他是比较好实现且坑少,方案成熟,有 bug 也容易修复,不熟悉可以学习。如果单纯自己学习,尝试其他方法实现,应该可以造轮子,写一个算法获取字符串中的所有 0-9 和.的子字符串,每个进行 IP 规则匹配就行(.分割后 0~255 等规则)

  • 資深大佬 : jjplay

    IPV4 匹配 字符串 “.” , 然后搜该 “.” 的下 1-3 位字符是不是(0-255)的数字,如此循环匹配 3 次
    IPV6 匹配 字符串 “:” , 同上,缩写匹配字符串 “::”

  • 資深大佬 : glfpes

    要是老板给我提这个需求,第一件事我要做的就是问他为啥不能用正则。

  • 資深大佬 : abc0123xyz

    雇几个视力还行的老头老太太,简单教一下,人眼识别。。

  • 資深大佬 : chinvo

    炼丹,生成随机假文本,然后随机在假文本中插入 IP 地址,最后一股脑喂给一个三层的网络,运气好的话比雇几个老头老太太要准一点

  • 資深大佬 : netnr

    抛弃最佳解决问题的方法,需要付出代价

  • 資深大佬 : Hyseen

    不用正则的话就自己写个 DFA 吧 如何从字符串中提取 ip 地址(不用正则)

  • 資深大佬 : ysc3839

    去看编译原理,根据网上找到的正则表达式实现对应的自动机。

  • 資深大佬 : dtgxx

    你弄懂什么是流式处理了吗

  • 主 資深大佬 : zu1k

    @Hyseen 目前是这个想法,不知道工作量大不大,太大我就放弃了,牺牲计算机 cpu 来换我不秃头

    @netnr 的确,目前关研究这个事就够烦人的了

    @chinvo 炼金师 VS 老太太

    @jjplay 实际深入到细节,还是有一些坑

    @oneisall8955 目前用的正则,已经能够实现目前的需求了,但是我想重构后让我的程序功能和效率更加强大一些,也算是学习了吧

    @xiri @leishi1313 我不想用递归下降了,我想查表

    @lxilu 有这个想法了

  • 主 資深大佬 : zu1k

    @dtgxx 不太清楚流式处理,搜了一下跟批处理相对应?我的意思是数据的输入是流式的,就像用户用键盘输入内容一样,程序获取到的是字节流,程序的目标是对原始输入只 scan 一次,one pass 的那种感觉,及时记录状态和相关信息,尽量不回过头来再读取一遍,对前面已经分析过并且无用的信息就丢弃掉,运行时内存占用也小

    @ysc3839 一会中午去借本书再复习一下编译原理,哭

  • 資深大佬 : ysc3839

    @zu1k 个人理解流式处理是针对磁带机等无法进行随机存取的设备提出的,和批处理没关系,批处理是早期操作系统执行任务的概念。
    https://zh.wikipedia.org/wiki/%E6%89%B9%E5%A4%84%E7%90%86%E4%BB%BB%E5%8A%A1

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具