有效MAC地址的正则表达式:不是88|87|FF|00



一个"有效"的MAC地址是6组十六进制字符对,用破破号或冒号分隔。

的例子:

3D-F2-C9-A6-B3-4F
08:F2:C9:A6:B3:4F

但是,"无效"的MAC地址包含00, FF, 8887的十六进制对。

的例子:

00-00-00-00-00-00
FF-FF-FF-FF-FF-FF
88-88-88-88-87-88

这是我目前得到的:

(?!8)([0-9A-F]{2})([:-][0-9A-F]{2}){5}

但是不知道为什么,我不能使用:

(?!88|87|FF|00)

用于正则表达式的否定部分。

注意:不是重复的SO条目,因为它查找无效的十六进制对并排除它们。

在整个输入中使用否定样式:

^((?!00|FF|88|87)[0-9A-F]{2}([:-]|$)){6}$

查看现场演示

请注意如何通过使用分隔符或输入结束符来简化正则表达式。

最新更新