RegularExpression

  • Hallo,

    ich habe eine kleine Abfrage mit StringRegExp erstellt. Ziel ist es, dass aus einem Text ($a) die Worte dxe_? herausgefiltert werden.
    Nach dxe_ kommen Excelzellen. Also, dxe_a1, dxe_B20 etc. aber auch dxe_AB100.

    Leider liefert die Funktion im Falle von z.Bsp. dxe_a1 und dxa_a11 und dxe_111 nur den Wert zurück, der am längsten ist. Das ist nicht gewollt. Es sollen die Werte
    dxe_a1
    dxe_a11
    dxe_a111
    geliefert werden. Wie muß die Funktion geändert werden?

    [autoit]


    $aResult = StringRegExp($a,"(?i)dxe_[A-Z]+[0-9]+",3)

    [/autoit]

    Einmal editiert, zuletzt von qwert23 (30. Januar 2013 um 20:12)

  • Spoiler anzeigen
    [autoit]

    $sPath = "sdsds dxe_a1 dfdfd dfdf dxe_w3434 dfdfdf dxe_sads3456"

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

    $aResult = StringRegExp($sPath, "(dxe_.*?\b)", 3, 1)
    For $element In $aResult
    ConsoleWrite($element & @LF)
    Next

    [/autoit]