通过 RegEx 查找部分 MAC 地址
Find partial MAC address via RegEx
对于我的应用程序,我需要一个 RegEx,它可以找出一个字符串是否 至少 部分是 MAC 地址,但到目前为止我只找到了以下 RegEx 仅查找是否是完整的 MAC 地址
^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$
什么是 RegEx(可能源自上述那个)returns 完全匹配这 3 个字符串:
93:31:13:E1:D3:1A
3E-EB-47-8
84:0C:
虽然没有返回这 2 个字符串的匹配项:
6B-90-8Y-31-D1-7K
37-4H-31
注意:我不会说这是 THIS 问题的 "practical" 副本,因为
- 尽管已有 6 年历史,但该问题从未成功回答
- 该问题针对特定引擎
该问题的 - None 个答案适用于上述 all/any 个案例
如果你想用一种定界符匹配部分 MAC 地址,你可以使用
^[0-9A-Fa-f]{1,2}(?:(?::[0-9A-Fa-f]{0,2}){0,5}|(?:-[0-9A-Fa-f]{0,2}){0,5})$
参见regex demo。
要匹配字符串中混有 -
和 :
的 MAC 地址,您可以使用
^[0-9A-Fa-f]{1,2}(?:[:-][0-9A-Fa-f]{0,2}){0,5}$
参见 this regex demo。
正则表达式详细信息
这里的MAC地址可以由6个:
或-
分隔的2-hex char部分组成,作为一种匹配。
^
- 字符串的开头
[0-9A-Fa-f]{1,2}
- 1 或 2 个十六进制字符
(?:
(?::[0-9A-Fa-f]{0,2}){0,5}
- :
重复 0 到 5 次,后跟 0 到 2 个十六进制字符
|
- 或
(?:-[0-9A-Fa-f]{0,2}){0,5}
- -
重复 0 到 5 次,后跟 0 到 2 个十六进制字符
)
- non-capturing 交替组结束
$
- 字符串结尾。
对于我的应用程序,我需要一个 RegEx,它可以找出一个字符串是否 至少 部分是 MAC 地址,但到目前为止我只找到了以下 RegEx 仅查找是否是完整的 MAC 地址
^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$
什么是 RegEx(可能源自上述那个)returns 完全匹配这 3 个字符串:
93:31:13:E1:D3:1A
3E-EB-47-8
84:0C:
虽然没有返回这 2 个字符串的匹配项:
6B-90-8Y-31-D1-7K
37-4H-31
注意:我不会说这是 THIS 问题的 "practical" 副本,因为
- 尽管已有 6 年历史,但该问题从未成功回答
- 该问题针对特定引擎 该问题的
- None 个答案适用于上述 all/any 个案例
如果你想用一种定界符匹配部分 MAC 地址,你可以使用
^[0-9A-Fa-f]{1,2}(?:(?::[0-9A-Fa-f]{0,2}){0,5}|(?:-[0-9A-Fa-f]{0,2}){0,5})$
参见regex demo。
要匹配字符串中混有 -
和 :
的 MAC 地址,您可以使用
^[0-9A-Fa-f]{1,2}(?:[:-][0-9A-Fa-f]{0,2}){0,5}$
参见 this regex demo。
正则表达式详细信息
这里的MAC地址可以由6个:
或-
分隔的2-hex char部分组成,作为一种匹配。
^
- 字符串的开头[0-9A-Fa-f]{1,2}
- 1 或 2 个十六进制字符(?:
(?::[0-9A-Fa-f]{0,2}){0,5}
-:
重复 0 到 5 次,后跟 0 到 2 个十六进制字符|
- 或(?:-[0-9A-Fa-f]{0,2}){0,5}
--
重复 0 到 5 次,后跟 0 到 2 个十六进制字符
)
- non-capturing 交替组结束$
- 字符串结尾。