_StringBetween über 2 zeilen

  • Hallo Zusammen,

    zum auslesen und ersetzen eines Strings aus einer XML Datei verwende ich die Funktion _StringBetween. Das klappt an sich ganz gut nur habe ich jetzt die Situation das ich über 2 Zeilen auslesen muss und nicht weiß wie ich mit dem Zeilenumbruch umgehen soll..

    Als Beispiels. Der STring lautet:

    <!-- Searchindex Local Video -->
    <searchindex file="Dieser Teil soll ausgelesen werden" />

    Folgendes dazu in AutoIT:

    [autoit]


    #include <string.au3>
    $datei = "C:\config.xml"
    $FH= FILEOPEN($DATEI, 0)
    $STR= FILEREAD($FH)
    $datapath= _StringBetween($STR, '<!-- Searchindex Local Video --> <<searchindex file="' , '"')
    MsgBox(4096, "Test",$datapath[0])

    [/autoit]

    Das klappt aber leider nicht.

    Weiß jemand einen Rat.

    Danke und Grüße

    Alex

  • Einfach das vorm Zeilenumbruch weglassen.

    Oder regexp:

    [autoit]

    $str = "<!-- Searchindex Local Video -->" & @CRLF & '<searchindex file="Dieser Teil soll ausgelesen werden" />'
    $regexp = StringRegExp($str, '<!-- Searchindex Local Video -->\r\n<searchindex file="(.+)" />', 3)
    MsgBox(0, "", $regexp[0])

    [/autoit]