Modèle Regex imposant la présence minimale de caractères et de chiffres
L'expression régulière fournie, "^([a-zA-Z0-9] ) $", garantit qu'une chaîne ne contient que des caractères alphanumériques. Cependant, il autorise les chaînes composées uniquement de chiffres ou de caractères. Pour remédier à ce problème, nous recherchons un modèle qui impose la présence à la fois d'un caractère et d'un nombre dans la chaîne d'entrée.
Solution utilisant une anticipation positive
Une approche pour résoudre cette exigence consiste à recourir à une anticipation positive. L’anticipation positive vous permet d’affirmer l’existence d’une sous-chaîne spécifique au sein d’un modèle plus large sans réellement y correspondre. L'expression régulière suivante utilise une anticipation positive pour obtenir le comportement souhaité :
^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$
Décomposons ce modèle :
En utilisant ce modèle, vous pouvez vous assurer que toute chaîne d'entrée valide contient à la fois au moins un chiffre et un caractère. La combinaison d'anticipations positives et de correspondance de caractères nous permet de vérifier la présence des deux éléments tout en respectant la contrainte alphanumérique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!