Ich verstehe reguläre Ausdrücke einigermaßen gut, aber ich kann sie nicht oft genug nutzen, um ein Experte zu sein. Ich bin über einen regulären Ausdruck gestolpert, den ich verwende, um die Passwortstärke zu überprüfen, aber er enthält einige Regex-Konzepte, mit denen ich nicht vertraut bin. Die regulären Ausdruck ist:Erklärung der Lookaheads in diesem regulären Ausdruck
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,}$
und in Klartext heißt das, dass die Zeichenfolge mindestens einen Kleinbuchstaben, einen Großbuchstaben enthalten, und eine Zahl, und die Zeichenfolge muss mindestens sechs Zeichen lang sein. Kann mir jemand das erklären, um zu erklären, wie dieses Muster diese Regel tatsächlich beschreibt? Ich sehe einen Anfang von Zeichenkette char^und ein Ende von Zeichenkette char $, drei Gruppen mit Lookaheads, eine Übereinstimmung mit einem beliebigen Zeichen. und eine Wiederholung {6}.
Danke an jeden Regex-Guru, der mir helfen kann, meinen Kopf um diese zu bekommen.
Eine Sache, die Ihnen helfen wird, die Terminologie richtig zu machen. '\ d' entspricht einer ** Ziffer **, und' [a-z] 'und' [A-Z] 'entsprechen ** Buchstaben **. Ich weiß, dass viele Leute die Wörter * number * und * character * verwenden, aber Sie werden viel weniger falsch verstanden, wenn Sie die richtigen Worte verwenden. –
Danke an alle für die sehr klaren Erklärungen. Die Erklärung, dass die Lookaheads die gefundene Zeichenfolge nicht konsumieren, hat mir wirklich geholfen, dies zu klären. Danke auch für den Hinweis, dass meine Terminologie genauer sein muss - ich stimme zu, ich bin manchmal faul mit meiner Terminologie und eine strengere Einhaltung wird helfen. –