如:48-5D-60-61-3D-C5
三种则正则表达式:
(1):[A-Fa-f0-9][A-Fa-f0-9]-[A-Fa-f0-9][A-Fa-f0-9]-[A-Fa-f0-9][A-Fa-f0-9]-[A-Fa-f0-9][A-Fa-f0-9]-[A-Fa-f0-9][A-Fa-f0-9]-[A-Fa-f0-9][A-Fa-f0-9]
这个表达式虽然看起来长,但是是逻辑最简单的,最容易理解的,也是完全正确的。A-F a-f 0-9都表示其中的某一个,中间是“或”的关系。短横线-可以直接进行匹配。
(2)"[A-Fa-f0-9]{2}-[A-Fa-f0-9]{2}-[A-Fa-f0-9]{2}-[A-Fa-f0-9]{2}-[A-Fa-f0-9]{2}-[A-Fa-f0-9]{2}"
进行优化后,长度剪短了一半。{2}就是把前面的部分循环2次。在第一种方法的基础上,这也是容易理解的。
(3)"([A-Fa-f0-9]{2}-){5}[A-Fa-f0-9]{2}"
在(2)的基础上继续进行优化。把“[A-Fa-f0-9]{2}-“作为一个单元进行提取。{5}并循环5次,因为面·前面5个都是重复的,有很大压缩的空间。