*Markus: Regulärer Ausdruck greift nicht

Hi,

ich habe ein kleines Problem mit einem regulären Ausdruck, der nicht greifen will. Ich möchte folgenden Beispielstring ( 123F7776A76 ) daraufhin überprüfen, ob Buchstaben in ihm vorhanden sind:

  
matcher = Pattern.compile("[A-Z]+").matcher(token);  
     if (matcher.matches())   {  
       //tue was  
     }  

Meiner Meinung nach müsste der obere Ausdruck greifen, da ich ja schließlich keine Begrenzer ^ und $ einsetze, tut er aber nicht.
Der Ausdruck heißt ja schließlich, dass mindestens ein Mal ein Großbuchstabe vorkommen muss. Aber offensichtlich ist das so nicht richtig
Wo ist der Fehler?
Ein \d will ich nicht dazunehmen. Es geht mir darum wie ich sagen kann "Finde mindestens einen Buchstaben in diesem String".
(Der String besteht sonst auch aus anderen Zeichen. Der Einfachheit halber sind es jetzt nur Ziffern)

Danke,
Markus

  1. Hello,

    if (matcher.matches())   {

    klingt immer so gut, ist aber leider falsch.
    Matcher.matches() "Attempts to match the entire input sequence against the pattern".

    Nutze etwas anderes, z.B. find()

    MfG
    Rouven

    --
    -------------------
    sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
    Unser Problem ist, dass wir eine Demokratie entwickelt haben, was nicht immer der richtige Weg ist  --  Bernie Ecclestone zu den lästigen Diskussionen um Regeländerungen in der Formel 1
    1. Hallo,

      danke für die Info. Das ist die Lösung.

      Markus