php 正则mac地址,正则表达式匹配MAC地址、邮箱地址、IP地址

(1)匹配MAC地址1)MAC地址由12个16进制的字母组成2)16个字母是0~9、a~f。不区分大小写,一般为大写3)每两个字母为一组,共六组,每组间用冒号:隔开匹配思路

1)先匹配前两个字母;用元字符[] 匹配单个字符,,用{2}匹配2次

2)接着匹配冒号和两个字母;后面的跟这个匹配方式相同,用{5}匹配5次

[root@moni01 tmp]# egrep '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}' /etc/sysconfig/network-scripts/ifcfg-eth0 --color

HWADDR=00:0C:29:E3:5F:39

[root@moni01 tmp]#

如果要仅输出MAC地址,那就要用awk工具切割

方法:以等号为分隔符,取第二个

[root@moni01 tmp]# egrep '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}' /etc/sysconfig/network-scripts/ifcfg-eth0 | awk -F "=" '{print $2}'

00:0C:29:E3:5F:39

[root@moni01 tmp]#

2)用户名最少三个字符,由由字母、数字、下划线组成,字母不区分大小写

3)域名应至少有一个 . 分隔,分隔的各部分至少2个字符,可能由字母、数字组成

匹配思路:

1)用户名在这范围内[0-Z_],所有数字字母下划线,最少匹配三次

2)域名小点 .前面的字母至少2次,小点的字母包括小点整部分至少匹配一次。小点需要转义,不然会匹配任何单个字符

[root@moni01 tmp]# egrep '[0-Z_]{3,}@[0-Z]{2,}(\.[0-Z]{2,})+' mail

123456789@qq.com

hlf@163.com

[root@moni01 tmp]#

2)IP地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数

[root@moni01 tmp]# ifconfig | egrep '[0-9]{1,3}(\.[0-9]{1,3}){3}'

inet addr:192.168.10.253 Bcast:192.168.10.255 Mask:255.255.255.0

inet addr:127.0.0.1 Mask:255.0.0.0

[root@moni01 tmp]#

当然,这粗略的匹配,更精确的匹配思路有,配了好久都没成功,晕~~

匹配思路:

(1)第一列最少一位数,最多三位数,是三位数的不能大于255

(2)第一列一位数是不能是0

(3)最后一列是三位数时,不能是255

(4)最后一列是一位数时,不能是0

一位数: [0-9]

两位数: 10~99  [1-9][0-9]

三位数: 100~255

100~199 、 1[0-9]{2}

200~249、  2[0-4][0-9]

250~255   25[0-5]

第一列:

是一位数:[1-9]

第四列

不能是0 , 255

本文出自 “小风” 博客,请务必保留此出处

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值