You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

正则表达式:保留MAC地址前三Octets并替换后三段,修复匹配问题

解决MAC地址正则替换的两个问题

1. 修复MAC地址匹配范围问题

你原正则无法匹配含FF的MAC,是因为字符类只限定到了a-eA-E,漏掉了十六进制里的fF。MAC地址每个Octet是00-FF的十六进制值,合法字符是0-9、a-f、A-F,修正后的全替换正则如下:

's/([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}/XX:XX:XX:XX:XX:XX/g'

2. 实现保留前三段、替换后三段的需求

基于严谨的MAC匹配规则,用捕获组保留前三段,非捕获组匹配后三段,替换时仅保留捕获的前三段并拼接XX:XX:XX,正则如下:

's/((?:[0-9a-fA-F]{2}:){2}[0-9a-fA-F]{2}):(?:[0-9a-fA-F]{2}:){2}[0-9a-fA-F]{2}/\1:XX:XX:XX/g'
  • 原理:((?:[0-9a-fA-F]{2}:){2}[0-9a-fA-F]{2}) 捕获前三段(比如AA:22:CC),后面的非捕获组匹配后三段;替换时用\1引用捕获的内容,加上:XX:XX:XX完成替换。
  • 可靠性:相比你尝试的s/..:..:..:/XX:XX:XX:/g,这个正则只会匹配符合标准MAC格式的字符串,不会误替换其他类似格式的非MAC内容。

示例效果

  • 原MAC:AA:22:CC:44:DD:66 → 替换后:AA:22:CC:XX:XX:XX
  • 含FF的MAC:FF:11:22:33:44:55 → 替换后:FF:11:22:XX:XX:XX

内容的提问来源于stack exchange,提问作者jksmurf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 08:40:04