我需要什么正则表达式来删除除 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
参见在线演示。不过,后面会有一个空换行符。请确保勾选“.匹配换行符”(见下面的屏幕截图)。