postgresql - Mac 地址正则表达式

postgresql - Mac Address Regex

我正在尝试使用 Greenplum 中的以下查询检索具有正确 mac 地址的所有行,但我也得到一些包含垃圾数据的行,如 ??:??:??:??:?? :??.当我将列传递给另一个函数时出现错误

ERROR: "?" is not a valid hexadecimal digit

这是我的select查询

select * from table where mac_address like '%:%:%:%:%:%' 
                    and (length(mac_address)) = 17 
                    and mac_address like '^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$'

如何从 Greenplum 中的列中过滤掉不正确的 mac_addresses?

我自己找的,mac_address ~ '^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$'

select * from table where mac_address like '%:%:%:%:%:%' 
                    AND (length(mac_address)) = 17 
                    AND mac_address ~ '^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$'
limit 100;