Hallo,
ich hatte hier bereits eine ähnliche Frage gestellt. Nun haben sich aber weitere Herausforderungen ergeben. ![]()
Ich möchte in einem Text nach allen IP Adressen bzw. mach IP Adressen mit Maske suchen. Dazu habe ich folgende Funktion:
[autoit]#include <Array.au3>
[/autoit][autoit][/autoit][autoit]IP_oder_IP_Netze_aus_Zwischenablage()
[/autoit][autoit][/autoit][autoit]Func IP_oder_IP_Netze_aus_Zwischenablage()
Local $aIP_Netze
;aus dem Text die IP Adresse bzw. IP Adresse/Netzmaske suchen und in Array ablegen
$aIP_Netze = StringRegExp(ClipGet(), '(?:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})(?: ?/\d{1,2})?', 3)
if @error Then ;wurde denn auch eine IP Adresse in der Zwischenablage gefunden?
Msgbox(64, "Fehler", "Keine IP Netze in der Zwischenablage gefunden!")
Return
EndIf
$aIP_Netze = _ArrayUnique($aIP_Netze) ;Doppelte Eintrage aus der Liste entfernen
[/autoit][autoit][/autoit][autoit]_ArrayToClip($aIP_Netze, 1) ;Ergebnis in die Zwischenablage
[/autoit][autoit][/autoit][autoit]MsgBox(0, "Ergebnis", "In der Zwischenablage wurden " & $aIP_Netze[0] & " IP Adressen mit Netzwerkmaske gefunden und als Liste zurück in die Zwischenablage kopiert." )
EndFunc
Wenn ich dieser Funktion aber folgendes gebe:
ZitatAlles anzeigen;~ 10.11.70.1
;~ 10.11.71.0/24
;~ 10.11.72.0 /24
;~ 10.11.73.0 / 24
;~ 10.11.74.0 255.255.255.0
;~ 10.11.75.0/255.255.255.0
;~ 10.11.76.0/ 255.255.255.0
;~ 10.11.77.0/ 255.255.0.0
;~ 10.11.78.0 / 255.255.255.0
Kommt das folgende Ergebnis:
ZitatAlles anzeigen10.11.70.1
10.11.71.0/24
10.11.72.0 /24
10.11.73.0
10.11.74.0
255.255.255.0
10.11.75.0/25
5.255.255.0
10.11.76.0
10.11.77.0
255.255.0.0
10.11.78.0
Hat jemand eine Idee wie ich das noch optimieren könnte? ![]()
Gruß Ingo