Gelon Geschrieben 26. September 2008 Geschrieben 26. September 2008 Hallo, vielleicht kann mir einer von euch helfen: Warum springt grep auf folgenden Ausdruck nicht an? echo 123456 | grep -E "^[0-9][0-9][0-9][0-9][0-9][0-9][[A-Z][A-Z]]?$" Irgendwie versteht es die zweite Klammerung um die beiden Ausdrücke [A-Z][A-Z] nicht, weil so funktioniert es: echo 123456 | grep -E "^[0-9][0-9][0-9][0-9][0-9][0-9][A-Z]?$" Kann mir jemand helfen? Gruß Gelon Zitieren
t3quill4b0y Geschrieben 26. September 2008 Geschrieben 26. September 2008 Moin, versuch mal grep -E "^[0-9][0-9][0-9][0-9][0-9][0-9][A-Z]?[A-Z]?$" oder etwas kürzer: grep -E "^[0-9]{6}[A-Z]{2}?$" Das Beispiel ist nicht getestet Grüßle Zitieren
bytebrain Geschrieben 26. September 2008 Geschrieben 26. September 2008 Oder so: grep -E "^\d{6}\w{2}?$" Aber obacht! \d{6} prüft auf genau 6 Zeichen (\d = Digits = Ziffern)! Grüße, bytebrain Zitieren
Gelon Geschrieben 26. September 2008 Autor Geschrieben 26. September 2008 Moin, versuch mal grep -E "^[0-9][0-9][0-9][0-9][0-9][0-9][A-Z]?[A-Z]?$" oder etwas kürzer: grep -E "^[0-9]{6}[A-Z]{2}?$" Das Beispiel ist nicht getestet Grüßle Oder so: Code: grep -E "^\d{6}\w{2}?$" Aber obacht! \d{6} prüft auf genau 6 Zeichen (\d = Digits = Ziffern)! Grüße, bytebrain Der Clue ist ja, dass ich will dass 1x[A-Z] nicht gehen soll, entweder 2x oder garnicht! Zitieren
bytebrain Geschrieben 26. September 2008 Geschrieben 26. September 2008 Diese RegEx "^\d{6}\w{2}$" prüft ob eine Zeichenkette genau aus 6 Ziffern und 2 Zeichen besteht. Zum Beispiel 123456ab. Alles andere wird von dieser RegEx nicht gematcht. Das ist doch, was du möchtest, oder? Grüße, bytebrain Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.