Regulärer Ausdruck

  • Hiho,

    lern gerade ein wenig RegExp und habe folgenden Text :

    Spoiler anzeigen

    <a>willichnicht</a>
    startString
    testyo
    <a>willichhaben1</a>
    mehr tests
    <a>willichhaben2</a>
    endString
    stblub
    <a>willichnicht</a>
    startString
    testyo
    <a>willichhaben3</a>
    mehr tests
    <a>willichhaben4</a>
    endString
    stblub
    <a>willichnicht</a>

    So könnte man es machen:

    [autoit]

    $aExp1 = StringRegExp($file,"(?s)(?<=startString).+?(?=endString)",3);
    $aExp2 = StringRegExp($aExp1[0],"<a>(.+?)</a>",3); // und noch für $aExp1[1]

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

    _ArrayDisplay($aExp2)

    [/autoit]

    Ich frag mich ob man das auch in einem Ausdruck machen kann?

    Meine Ansätze:

    [autoit]

    StringRegExp($file,"(?s)(?<=startString).+?<a>(.+?)</a>.+?(?=endString)",3);
    StringRegExp($file,"(?s)(?<=startString).+?(<a>(.+?)</a>.+?)+(?=endString)",3);

    [/autoit]

    Das erste gibt aber nur den 1. und das 2. gibt nur den 2. . Gibts auch einen der alle matcht?

    Gruß Greek

    Einmal editiert, zuletzt von Greek (7. September 2013 um 20:06)