正規表現を使用して MAC アドレスを保持し、文字列内の他のすべてを削除するにはどうすればよいですか?

正規表現を使用して MAC アドレスを保持し、文字列内の他のすべてを削除するにはどうすればよいですか?

A-F文字(大文字)と数字を含むmac以外のすべてを削除するには、どのような正規表現が必要ですか?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

オンラインで見るデモただし、末尾に空の改行が付きます。「. 改行に一致」にチェックマークを付けてください (下のスクリーンショットを参照)。

ここに画像の説明を入力してください

関連情報