Chinaunix首页 | 论坛 | 博客
  • 博客访问: 192200
  • 博文数量: 71
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 48
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-27 14:13
个人简介

坐着,坐着,就胖了。。。

文章分类

全部博文(71)

文章存档

2014年(15)

2013年(56)

我的朋友

分类: LINUX

2014-02-21 12:03:34

原文地址:正则匹配数字段和IP MAC 作者:zooyo

匹配127~362之间数字:
  1. ^(12[7-9]|1[3-9][0-9]|2[0-9][0-9]|3[0-5][0-9]|36[0-2])$
  2.   127-129 130-199     200-299     300-350     360-362

匹配15~568之间的数字:
  1. ^(1[5-9]|[2-9][0-9]|[1-4][0-9][0-9]|5[0-5][0-9]|56[0-8])$
  2.   15-19  20-99      100-499         500-559     560-568

这个没有任何捷径,只有拆分数字段来一个一个匹配,也没什么技巧,大家仔细看看,多试试就熟练了。一定要把^和$加在首尾,这是起锚定作用,否则正则引擎会匹配到包含该数字段的内容,加上锚定过后才能精确匹配。

匹配IP地址的正则:
  1. ^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])$

匹配MAC地址的正则:
  1. ^[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}$

注意实现中都需要扩展正则的支持,如果是grep请加 -E 参数,或者用 egrep,sed请加 -r 参数。awk是默认支持扩展正则的。
阅读(1824) | 评论(0) | 转发(0) |
0

上一篇:【转】linux分支优化likely,unlikely

下一篇:没有了

给主人留下些什么吧!~~