Wie kann ich einen regulären Ausdruck verwenden, um MAC-Adressen beizubehalten und alles andere in einer Zeichenfolge zu löschen?

Wie kann ich einen regulären Ausdruck verwenden, um MAC-Adressen beizubehalten und alles andere in einer Zeichenfolge zu löschen?

Welchen regulären Ausdruck brauche ich, um alles außer den Macs zu löschen, die Buchstaben A-F(in Großbuchstaben) und Ziffern enthalten können?0-9

Alles andere (Buchstaben und Zahlen) und sonstige Zeichen ( ) möchte ich löschen -,!,?,@ etc.

Ich möchte nur die MAC-Adresse behalten. Beispiel:

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

Ich möchte das folgende Ergebnis (jede MAC-Adresse in einer neuen Zeile): -

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

Antwort1

Das hier scheint auch zu funktionieren:

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

Ersetzen mit:\1\n

Antwort2

Versuchen Sie evtl.:

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

Ersetzen mit\1\n

Sehen Sie sich die Online-Demo. Sie erhalten jedoch eine leere Newline am Ende. Stellen Sie sicher, dass Sie „. matches newline“ aktiviert haben (siehe Screenshot unten).

Bildbeschreibung hier eingeben

verwandte Informationen