匹配下列格式的数据中的 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

lua字符匹配的更多相关文章

  1. 【编程题目】有 n 个长为 m+1 的字符串,如果某个字符串的最后 m 个字符与某个字符串的前 m 个字符匹配...

    37.(字符串)有 n 个长为 m+1 的字符串,如果某个字符串的最后 m 个字符与某个字符串的前 m 个字符匹配,则两个字符串可以联接,问这 n 个字符串最多可以连成一个多长的字符串,如果出现循环, ...

  2. (转)MySQL数据表中带LIKE的字符匹配查询

    MySQL数据表中带LIKE的字符匹配查询 2014年07月15日09:56    百科369 MySQL数据表中带LIKE的字符匹配查询 LIKE关键字可以匹配字符串是否相等. 如果字段的值与指定的 ...

  3. JavaScript正则表达式模式匹配(1)——基本字符匹配

    var pattern=/g..gle/; //点符号表示匹配除了换行符外的任意字符 var str='g78gle'; alert(pattern.test(str)); var pattern=/ ...

  4. leetcode 44 字符匹配

    题意:s是空串或包含a-z字母: p为包含a-z字母或?或 * (其中*可以匹配任意字符串包括空串,?可以匹配任意字符). 思路: 1)特殊情况:当s为空串时,p为连续 * 时,则连续 * 的位置都为 ...

  5. 含有通配符*的字符匹配(C语言)

    含有通配符的字符匹配,采用贪心算法 //1 -> true //0 -> false int IsMatch(const char* reg, const char *str) { int ...

  6. DP在字符匹配上的实现

    在此保存下近段时间做的DP在字符匹配上的实现的题目 对于不同的字符串来说,2者只能不断将下标往后推移来实现匹配从而得到的最大匹配数 如 abcd 和 dcba 这个最大匹配数只能为1,因为两个d匹配后 ...

  7. KMP算法——字符匹配

     暴力匹配: 假设现在我们面临这样一个问题:有一个文本串S,和一个模式串P,现在要查找P在S中的位置,怎么查找呢? 如果用暴力匹配的思路,并假设现在文本串S匹配到 i 位置,模式串P匹配到 j 位置, ...

  8. Python 基础之正则之一 单字符,多字符匹配及开头结尾匹配

    一.正则表达式之单个字符匹配 格式:lst = re.findall(正则表达式,要匹配的字符串)预定义字符集 匹配内容 .匹配任意字符,除了换行符\n \d匹配数字 \D匹配非数字 \w匹配字母或数 ...

  9. day21-Python运维开发基础(单个字符匹配 / 多字符匹配)

    1. 正则表达式(单个字符匹配) # ### 正则表达式 => 单个字符匹配 import re """ lst = re.findall(正则表达式,字符串) & ...

随机推荐

  1. memcached在linux安装

    服务器端主要是安装memcache服务器端.下载:http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz另外,Memcache用到了lib ...

  2. How To mount/Browse Windows Shares【在linux{centos}上挂载、浏览window共享】

    How to mount remote Windows shares Contents Required packages Basic method Better Method Even-better ...

  3. EF自动生成的(T4模板) 关联属性元数据修改

    为了实现 T4模板关联属性 不要序列化的问题 就是要在具体的 关联属性上面添加一个元数据 这里利用以前的 Newtonsoft.Json 这个框架为例 效果应该为 就是要在关联属性上面添加元数据  [ ...

  4. Memento:客户端瘦身

    说是客户端瘦身,其实备忘录模式的本质让调用客户端职责减轻,将客户端的对于实现比如数据恢复之类细节的内容封装在操作类之中.其实面向对象的一重要方面就是划分清楚职责,这样可以减少改到造成的影响,便于扩展. ...

  5. MAC OX 配置JDK环境变量

    大家在windows里面配置JDK环境变量很容易,但是如果要在mac里面配置JDK环境变量和windows里面有所不同,具体如下: 第一: mac OS里面自带jdk,不过是1.6的版本,现在很多人使 ...

  6. Python 处理EXCEL的CSV文档分列求SUM

    相对于导出EXCEL文件,PYTHON计算更为实时. import csv import sys from optparse import OptionParser def calculate_pro ...

  7. SpringMVC控制器接收不了PUT提交的参数的解决方案

    摘要: SpringMVC控制器接收不了PUT提交的参数的解决方案 这次改造了下框架,把控制器的API全部REST化,不做不知道,SpringMVC的REST有各种坑让你去跳,顺利绕过它们花了我不少时 ...

  8. Android-补间动画效果

    Android的SDK提供了三种类型的动画,分别是补间动画.逐帧动画和插值属性动画.下面先介绍第一种动画效果-补间动画. 补间动画可以应用于View,让开发者可以定义一些关于大小.位置.旋转和透明度的 ...

  9. 【CF】244C Checkposts

    题目需要求啥很明确了.主要思想是先计算机联通块,然后每个块内找到一个最小值(以及该值的次数).最小值和结果1,次数乘积为结果2.联通块tarjan可解. /* 427C */ #include < ...

  10. 【HDOJ】1501 Zipper

    DFS.注意剪枝,0ms. #include <stdio.h> #include <string.h> #define False 0 #define True 1 #def ...