wifidog 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 file  

file = 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+"))  
end  
file: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

本文章由 http://www.wifidog.pro/2015/01/29/wifidog-lua.html 整理编辑,转载请注明出处

标签: wifidog认证 wifidog安装 wifidog原理 wifidog分析 wifidog配置 wifidog流程 wifidog服务器 wifidog-ddwrt wifidog openwrt