Veröffentlicht 26. September 200816 j 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
26. September 200816 j 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
26. September 200816 j Oder so: grep -E "^\d{6}\w{2}?$" Aber obacht! \d{6} prüft auf genau 6 Zeichen (\d = Digits = Ziffern)! Grüße, bytebrain
26. September 200816 j 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!
26. September 200816 j 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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.