IP Adressen und Maske in einem Text suchen

  • Hallo,
    ich habe ein Problem mit StringRegExp. Vielleicht kann mir jemand helfen mein Wunschergebnis zu bekommen.

    Wunschergebnis
    Row|Col 0
    [0]|10.2.3.10
    [1]|10.2.3.0/24
    [2]|10.2.3.0 /24

    [autoit]

    #include <Array.au3>

    [/autoit][autoit][/autoit][autoit]

    Local $Text
    Local $aIPAddress
    Local $aIP_Netze
    Local $aIPAddress_und_Netze

    [/autoit][autoit][/autoit][autoit]

    $Text = "Das ist ein Text mit dieser IP 10.2.3.10 und eineer IP mit Maske 10.2.3.0/24 und einer IP mit Maske hinter Freizeichen 10.2.3.0 /24 und ich brauche alles"

    [/autoit][autoit][/autoit][autoit]

    MsgBox(1, "Test", $Text)

    [/autoit][autoit][/autoit][autoit]

    ;IP Adressen in ein Array schreiben
    $aIPAddress = StringRegExp($Text, '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', 3)
    _ArrayDisplay($aIPAddress)
    ;~ Ergebnis:
    ;~ Row|Col 0
    ;~ [0]|10.2.3.10
    ;~ [1]|10.2.3.0
    ;~ [2]|10.2.3.0

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    ;IP Adressen/Maske in ein Array schreiben
    $aIP_Netze = StringRegExp($Text, '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}[/]\d{1,2}', 3)
    _ArrayDisplay($aIP_Netze)
    ;~ Ergebnis:
    ;~ Row|Col 0
    ;~ [0]|10.2.3.0/24

    [/autoit][autoit][/autoit][autoit]

    $aIPAddress_und_Netze = StringRegExp($Text, '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\ [/]\d{1,2}', 3)
    _ArrayDisplay($aIPAddress_und_Netze)
    ;~ Ergebnis:
    ;~ Row|Col 0
    ;~ [0]|10.2.3.0 /24

    [/autoit][autoit][/autoit][autoit]

    ;~ Wunschergebnis ist aber:
    ;~ Row|Col 0
    ;~ [0]|10.2.3.10
    ;~ [1]|10.2.3.0/24
    ;~ [2]|10.2.3.0 /24

    [/autoit]

    Gruß Ingo

    Einmal editiert, zuletzt von Donsen64 (19. Februar 2014 um 16:57)