Regex Frage



  • Hallo zusammen,

    und sorry, dass ich euch mit so einem Kleinscheiß belästigen muss.
    Regex ist nicht gerade mein Lieblingsthema aber vielleiht kann mir von euch ja eben jemand auf die Sprünge helfen. Ich muss folgenden String aufbrechen in 1xBuchstabe in Groß + 1x Zahl: C7A1M2

    wregex  re(L".*(\\D\\d).*");	
            wregex  re(L".*(\\D\\d)");
    

    Beim regex_match kriege ich aber nur das letzte M2. Irgendwo ist da der Wurm drin.
    Habe beide versucht und noch ein paar andere probiert aber ich komme gerade einfach nicht drauf:-(



  • das erste .* in der Regex ist greedy und nimmt daher soviele Zeichen wie irgendwie möglich passen. Du musst hier die non-greedy variante nehmen. Oder du machst ein regex-search.


Anmelden zum Antworten