Mac地址的Regex不能正常工作



我正在使用javascript试图grep一切不是mac地址并删除它。下面是一个字符串的例子:

var x = "20:ce:c4:00:01:e6 VLAN_ID=0";

我正在尝试移除"VLAN_ID=0"因此期望的输出将是:

var x ="20:ce:c4:00:01:e6"

我使用了两个不同的mac地址的正则表达式:

const regex = /[0-9a-f]{1,2}([\.:-])(?:[0-9a-f]{1,2}1){4}[0-9a-f]+/;
const regex2 = /([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})|([0-9a-fA-F]{4}\.[0-9a-fA-F]{4}\.[0-9a-fA-F]{4})+/;

我试着摆弄^,但运气不好使用x = x.replace(regex2, "");它将mac地址的所有内容替换为输出VLAN_ID=0

您可以通过访问第一个匹配来提取结果,如下所示:

var x = "20:ce:c4:00:01:e6 VLAN_ID=0";
const regex2 = /([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})|([0-9a-fA-F]{4}\.[0-9a-fA-F]{4}\.[0-9a-fA-F]{4})+/;
x = x.match(regex2)[0];
console.log(x)

相关内容

  • 没有找到相关文章

最新更新