首页 > 代码库 > lua字符匹配
lua字符匹配
匹配下列格式的数据中的 source和MAC地址:
Chain WiFiDog_br-lan_Outgoing (1 references) pkts bytes target prot opt in out source destination 705 109595 MARK all -- * * 10.1.1.191 0.0.0.0/0 MAC C4:6A:B7:6F:7A:AB MARK or 0x200 705 109595 MARK all -- * * 10.1.1.192 0.0.0.0/0 MAC C4:6A:B7:6F:7A:BB MARK or 0x200 705 109595 MARK all -- * * 10.1.1.193 0.0.0.0/0 MAC C4:6A:B7:6F:7A:CB MARK or 0x200 705 109595 MARK all -- * * 10.1.1.194 0.0.0.0/0 MAC C4:6A:B7:6F:7A:DB MARK or 0x200
简单实现如下,在已知格式的情况下,使用最简单快捷的方式来解决问题。
local filefile = io.open("format", "r")for line in file:lines() do print(string.match(line, "%d+.%d+.%d+.%d+")) print(string.match(line, "%x+:%x+:%x+:%x+:%x+:%x+"))endfile:close()
执行结果如下
>lua -e "io.stdout:setvbuf ‘no‘" "match.lua"
nil
nil
nil
nil
10.1.1.191
C4:6A:B7:6F:7A:AB
10.1.1.192
C4:6A:B7:6F:7A:BB
10.1.1.193
C4:6A:B7:6F:7A:CB
10.1.1.194
C4:6A:B7:6F:7A:DB
>Exit code: 0
原理如下:
http://www.cnitblog.com/kenlistian/archive/2008/10/15/50292.html
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。