105 votes

Que signifie ?= dans une expression régulière ?

Puis-je savoir ce que ?= signifie dans une expression régulière ? Par exemple, quelle est sa signification dans cette expression :

(?=.*\d).

153voto

cletus Points 276888

?= est un lookahead positif, un type de assertion de largeur nulle . Ce que cela veut dire, c'est que la correspondance capturée doit être suivie de ce qui se trouve entre les parenthèses, mais cette partie n'est pas capturée.

Votre exemple signifie que la correspondance doit être suivie de zéro ou plusieurs caractères, puis d'un chiffre (mais là encore, cette partie n'est pas saisie).

17voto

Michael Foukarakis Points 14892

(?=modèle) est une assertion de lookahead positif de largeur nulle. Par exemple, /\w+(?=\t)/ correspond à un mot suivi d'une tabulation, sans inclure la tabulation dans le mot. $& .

13voto

kisHoR Points 176

L'expression ci-dessous trouvera le dernier nombre défini dans un nom de fichier avant son extension (sans le point (.)).

'\d+(?=\.\w+$)'

file4.txt correspondra à 4 .

fichier123.txt correspondra à 123 .

demo.3.js correspondra à 3 et ainsi de suite.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X