REGEX-(Mist)

  • Hiho,

    folgendes Problem:

    Dateien in folgendem "Namens"-Format sind innerhalb eines Ordners möglich und sollen entsprechend behandelt werden.
    X = Buchstabe
    Y = Zahl

    1. XXYYXXYYYYYYYYYYYYYY_Y.jpg (hier auch möglich ohne das letzte "_Y"
    2. YYYYYY_YYYYYYYY_YYYY_YYY.jpg

    Ich bräuchte für beide Dateinamen ein REGEX, jedoch ich raff das absolut nicht mit diesen, so sehr ich mich anstrenge :(
    Ich glaub ich bin wirklich zu blöde für REGEX

    Je nachdem welche Datei (abhängig vom REGEX) in nem Ordner ist, soll diese in ein entsprechenden Ordner verschobebn werden..
    Hoffe, mir kann einer helfen..

    Einmal editiert, zuletzt von Torni (3. Januar 2013 um 05:59)

  • D.h., wenn im Namen kein Buchstabe vorkommt, dann soll die Datei in den entsprechenden Ordner verschoben werden, ansonsten in einen anderen Ordner.

    Ferner kommen die Buchstaben nur am Anfang vor.

    Richtig?

    Gruß,
    UEZ

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • ja genau.. ich bekomms trotzdem nicht gebacken..

    da könnt ich heulen *G*

    p.s.: muss aber über regex abgewickelt werden, weil ich diese in ne config-datei eingeben kann..

  • [autoit]


    $sString1 = "cd54ab46346346344643_6.jpg"
    $sString2 = "535756_36547372_2643_456.jpg"

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

    $sPattern1 = "[^\d]{2}\d{2}[^\d]{2}\d{14}(?:_\d)?\.jpg"
    $sPattern2 = "\d{6}_\d{8}_\d{4}_\d{3}\.jpg"

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

    MsgBox(0,"",StringRegExp($sString1,$sPattern1))
    MsgBox(0,"",StringRegExp($sString2,$sPattern2))

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


    So in der art?

  • Ist zwar ungetestet und im Browser getippt, aber solange das Programm die gleiche RegEx-Syntax wie Autoit/Perl verwendet solltes so gehen:

    [autoit]

    $sPattern = "^\w"

    [/autoit]

    LG
    Christoph :)

  • Bin kein RegEx Guru, aber hier eine Möglichkeit:

    [autoit]


    $sDatei1 = "Test123ABC134_1.jpg"
    $sDatei2 = "123_456_789.jpg"

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

    ConsoleWrite(StringRegExp($sDatei1, "(?i)[^_\d\.jpg]", 0) & @LF)
    ConsoleWrite(StringRegExp($sDatei2, "(?i)[^_\d\.jpg]", 0) & @LF)

    [/autoit]

    Gruß,
    UEZ

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯