如何在PHP中使用正则表达式从指定字符串中筛选Mac地址?

如何在PHP中使用正则表达式从指定字符串中筛选Mac地址?,php,regex,pattern-matching,preg-match,Php,Regex,Pattern Matching,Preg Match,实际上,我有下面这样的字符串 Physical Address Transport Name =================== ========================================================== 00-1F-29-A8-CA-54 Media disconnected 00-21-5C-68-BB-17 \Device\Tcpip_{1A76BCB8-6BD0-45AA-85B0-3016C3F82A5B} 请帮助我仅从上述字符串中筛

实际上,我有下面这样的字符串

Physical Address Transport Name =================== 
==========================================================
00-1F-29-A8-CA-54 Media disconnected 
00-21-5C-68-BB-17 \Device\Tcpip_{1A76BCB8-6BD0-45AA-85B0-3016C3F82A5B}

请帮助我仅从上述字符串中筛选mac地址。谢谢。

使用
preg\u match\u all
函数和POSIX字符类
[:xdigit:][/code>的解决方案(将匹配所有十六进制数字):

输出:

Array
(
    [0] => 00-1F-29-A8-CA-54
    [1] => 00-21-5C-68-BB-17
)

嗨,迪内什:你能告诉我们你到目前为止都尝试了什么吗?这并不总是有效的。例如,
arp-an
可以返回aa:aa:aa:a:1:aa而不是aa:aa:aa:0a:01:aa
Array
(
    [0] => 00-1F-29-A8-CA-54
    [1] => 00-21-5C-68-BB-17
)