如何使用正则表达式保留 MAC 地址并删除字符串中的所有其他内容?

如何使用正则表达式保留 MAC 地址并删除字符串中的所有其他内容?

我需要什么正则表达式来删除除 mac 之外的所有内容,其中包含字母A-F(大写)和数字0-9

我想删除其他所有内容(字母和数字)和其他字符(-,!,?,@ etc)。

我只想保留 MAC 地址。例如:

text 1 here
text: example 1
text- ??????
1F:F2:C9:A6:B3:4F

text 2 here
text: example 2
text- ??????!!!@@@
3D:F2:D9:F3:C3:A1


text 3 here
text: example 3
text- ??????!!!@@@
E8:F2:D9:A6:A3:11

我想要以下结果(每个 mac 地址占一行):-

1F:F2:C9:A6:B3:4F
3D:F2:D9:F3:C3:A1
E8:F2:D9:A6:A3:11

答案1

这似乎也有效:

(?is).*?(([A-F\d]{2})(?:[:-][A-F\d]{2}){5})|.+

用。。。来代替:\1\n

答案2

可以尝试:

(?i).*?^([0-9A-F]{2}([:-])(?:[0-9A-F]{2}\2){4}[0-9A-F]{2})$

用。。。来代替\1\n

参见在线演示。不过,后面会有一个空换行符。请确保勾选“.匹配换行符”(见下面的屏幕截图)。

在此处输入图片描述

相关内容