• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Regulärer Ausdruck

Shibb

New member
Hallo,

ich möchte eine Zeichenkette darauf prüfen, ob sie mit 2-5 Buchstaben beginnt gefolgt von Zahlen und der gesamte String soll höchstens 8 Zeichen lang sein.

Code:
([A-Za-z]{2,5}\d+){3,8}
 
Nein, die Länge würde ich nicht mit Regex machen, wäre mir zu doof zu warten. Aber wenn dein {3,8} hinten klappt, nimm es.
 
Nein, klappt nicht. wollte damit nur die Rcihtung aufzeigen in die ich dachte. Bisher habe ich keine Lösung.
 
((?=[a-zA-Z]{2,5}(\d{0,8})(?!\w)).{3,8})
So sieht das doch schön aus :)

Wenn du jetzt auch noch willst, dass der String genau das sein muss, also du bekommst asd234567 und du prüfst, dann sagt er zwar es passt, aber da ist ja ein charakter zu viel.
Dann musst du diesen verwenden:
^((?=[a-zA-Z]{2,5}(\d{0,8})(?!\w)).{3,8})$
 
Zuletzt bearbeitet:
er will aber
2 buchstaben und 1 bis 6 zahlen
oder
3 buchstaben und 1 bis 5 zahlen
oder
4 buchstaben und 1 bis 4 zahlen
oder
5 buchstaben und 1 bis 3 zahlen
also könnte man, wenn man NICHT weiß was man sich da antut etwas schreiben wie
Code:
/([A-Za-z]{2}(?=(([A-Za-z](?=(([A-Za-z](?=(([A-Za-z]\d{1,3})|\d{1,4}))|\d{1,5})))|\d{1,6}))))/
oder für fest auf 8 zeichen
Code:
([A-Za-z]{2}(?=(([A-Za-z](?=(([A-Za-z](?=(([A-Za-z]\d{3})|\d{4}))|\d{5})))|\d{6}))))
oder es sich einfach machen wie mikdoe es vorgeschlagen hat
 
er will aber
2 buchstaben und 1 bis 6 zahlen
oder
3 buchstaben und 1 bis 5 zahlen
oder
4 buchstaben und 1 bis 4 zahlen
oder
5 buchstaben und 1 bis 3 zahlent
Das hat er nicht gesagt. Er sagte höchstens.
Ich prüfe auf mind. 2 Buchstaben und max 5 und von 0 -8 Zahlen. Da der gesamte String nur 8 Zeichen lang sein darf kann ich auch von 0- 1000000000 prüfen, das ist ja egal
Ich kann genauso gut das hier nehmen : ((?=[a-zA-Z]{2,5}(\d+)(?!\w)).{3,8})
das sind 2-5 Buchstaben, 1- (8-$1) Zahlen
 
Zuletzt bearbeitet:
Code:
 alert(/^((?=[a-zA-Z]{2,5}(\d{0,8})(?!.)).{3,8})$/.test("aaaaa111 a"));
Dann tauscht er das \w wurch ein .
Ich bin davon ausgegangen, dass diese Zeichenkette über eine URL übergeben wird, weil mich das an Youtube erinnert
 
Zuletzt bearbeitet:
Danke die Antwort hat mir sehr weiter geholfen. Ich habe die ganze Zeit nach dem ?= gesucht. ich habe aus deinen Vorschlägen jetzt
Code:
(?=[a-zA-Z]{2,5}\d+$).{3,8}
gemacht. Was ich noch nicht verstehe ist wofür der "." steht?
 
bleibt noch das mit den zahlen
ich möchte eine Zeichenkette darauf prüfen, ob sie mit 2-5 Buchstaben beginnt gefolgt von Zahlen und der gesamte String soll höchstens 8 Zeichen lang sein.
und dann kann man
es sich einfach machen wie mikdoe es vorgeschlagen hat

- - - Aktualisiert - - -
Was ich noch nicht verstehe ist wofür der "." steht?
http://de.wikipedia.org/wiki/Regulärer_Ausdruck#Vordefinierte_Zeichenklassen
 
@hesst, kannst du das bzgl. der Zahlen mir bitte genauer erklären.


Ich kenne die allgemeine Erklärung für ".". Mir ist in dem Bsp. aber nicht offensichtlich das er als Platzhalter für ein bel. Zeichen steht. Kannst du mir das bitte erklären.
 
@hesst, kannst du das bzgl. der Zahlen mir bitte genauer erklären.
das müsstest du machen.
eine zeichenkette mit 2-5 buchstaben gefolgt von zahlen bedeutet
mindestens eine ziffer
aaa1 => ok
aaa => nicht ok

Mir ist in dem Bsp. aber nicht offensichtlich das er als Platzhalter für ein bel. Zeichen steht.
deswegen nochmal, mach es dir so einfach wie möglich und nimm etwas, was man schon beim überfliegen versteht

Kannst du mir das bitte erklären.
der regexp bedeutet ja "nichts mit lookahead auf (2-5 zeichen gefolgt von zahlen gefolgt von stringende) gefolgt von 3 bis 8 belibigen zeichen"

also nichts gefolgt von 3 bis 8 belibigen zeichen
und das was dem nichts folgt muss 2-5 zeichen gefolgt von zahlen gefolgt von stringende entsprechen
 
Es soll heißen, mindestens eine Ziffer. Der regex
Code:
(?=[a-zA-Z]{2,5}\d+$).{3,8}
ist doch überschaubar. Hinter dem regex steht keine Anwendung, ich habe aus Interesse gefragt.

Ich habe immer noch nicht erkannt wozu der Punkt nötig ist.
 
Genau, nur weil ich den Ausdruck nicht durchschaue, heißt das nicht dass der Ausdruck unübersichtlich ist. Eigentlich ist es auch egal ob sich die Aussagen widersprechen. Mir geht es in erster Linie darum das mit dem Punkt zu verstehen.
 
Zuletzt bearbeitet:
Zurück
Oben