有效 MAC 地址的正则表达式:不是 88|87|FF|00
Regex for valid MAC addresses : not 88|87|FF|00
一个"valid"MAC地址是6组十六进制字符对,用破折号或冒号分隔。
示例:
3D-F2-C9-A6-B3-4F
08:F2:C9:A6:B3:4F
但是,"invalid" MAC 地址包含 00
、FF
、88
或 87
.[=19 的十六进制对=]
示例:
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}$
参见live demo。
请注意如何通过对分隔符或输入结尾使用交替来简化正则表达式。
一个"valid"MAC地址是6组十六进制字符对,用破折号或冒号分隔。
示例:
3D-F2-C9-A6-B3-4F
08:F2:C9:A6:B3:4F
但是,"invalid" MAC 地址包含 00
、FF
、88
或 87
.[=19 的十六进制对=]
示例:
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}$
参见live demo。
请注意如何通过对分隔符或输入结尾使用交替来简化正则表达式。