À l'aide ?=. dans l'expression régulière
J'ai vu la phrase
^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[A-Za-z0-9_#@%\*\-]{8,24}$
en regex, qui était mécanisme de vérification de mot de passe. J'ai lu quelques cours sur les expressions régulières, mais je n'ai jamais vu combinaison ?=.
expliqué.
Je veux savoir comment il fonctionne. Dans l'exemple, il est à la recherche d'au moins une lettre majuscule, une lettre minuscule et un chiffre. Je suppose que c'est quelque chose comme "si".
anticipation Positif
Si vous voulez savoir ce que l'expression régulière caractères veux dire, entrez la regexp à regexr.com. Ensuite, placez le pointeur de la souris sur les personnages et il affichera le sens dans une info-bulle.
Vous pouvez également trouver une explication dans le regex101.com
Notez en particulier que l'
Double Possible de qu'est-Ce ?= "dans une expression régulière?
Si vous voulez savoir ce que l'expression régulière caractères veux dire, entrez la regexp à regexr.com. Ensuite, placez le pointeur de la souris sur les personnages et il affichera le sens dans une info-bulle.
Vous pouvez également trouver une explication dans le regex101.com
Notez en particulier que l'
.
est pas liée à l' (?=
. Votre regex commence avec (?=
(assurez-vous que vous pouvez le voir, mais ne pas consommer), suivie par .*
(zéro ou plus de n'importe quel caractère).Double Possible de qu'est-Ce ?= "dans une expression régulière?
OriginalL'auteur Izzy | 2014-03-16
Vous devez vous connecter pour publier un commentaire.
(?=regex_here)
est un anticipation positif. C'est un zéro-largeur de l'assertion, ce qui signifie qu'il correspond à un emplacement qui est suivie par la regex contenues dans(?=
et)
. Pour citer un extrait de la page du lien:La
.
ne fait pas partie de l'anticipation, car il correspond à tout caractère qui n'est pas un terminateur de ligne.OriginalL'auteur The Guy with The Hat