Regex-Muster erzwingt die Mindestpräsenz von Zeichen und Zahlen
Der bereitgestellte reguläre Ausdruck „^([a-zA-Z0-9] ) $“ stellt sicher, dass eine Zeichenfolge nur alphanumerische Zeichen enthält. Es sind jedoch Zeichenfolgen zulässig, die ausschließlich aus Zahlen oder Zeichen bestehen. Um dies zu beheben, suchen wir nach einem Muster, das das Vorhandensein sowohl eines Zeichens als auch einer Zahl in der Eingabezeichenfolge vorschreibt.
Lösung mit positivem Lookahead
Ein Lösungsansatz Diese Anforderung besteht darin, einen positiven Look-Ahead zu verwenden. Mit einem positiven Lookahead können Sie die Existenz eines bestimmten Teilstrings innerhalb eines größeren Musters bestätigen, ohne diesen tatsächlich abzugleichen. Der folgende reguläre Ausdruck verwendet einen positiven Lookahead, um das gewünschte Verhalten zu erreichen:
^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$
Lassen Sie uns dieses Muster aufschlüsseln:
Verwendet Mit diesem Muster können Sie sicherstellen, dass jede gültige Eingabezeichenfolge sowohl mindestens eine Zahl als auch ein Zeichen enthält. Die Kombination aus positiven Lookaheads und Zeichenabgleich ermöglicht es uns, das Vorhandensein beider Elemente zu überprüfen und gleichzeitig die alphanumerische Einschränkung einzuhalten.
Das obige ist der detaillierte Inhalt vonWie erzwingt man mit Regex die Mindestpräsenz von Zeichen und Zahlen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!