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
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
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
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!
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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden