Quelle est la signification du drapeau g
dans les expressions régulières?
Quelle est la différence entre /.+/g
et /.+/
?
Quelle est la signification du drapeau g
dans les expressions régulières?
Quelle est la différence entre /.+/g
et /.+/
?
g
->
renvoie toutes les correspondancessans g
->
renvoie la première correspondanceexemple:
'1 2 1 5 6 7'.match(/\d+/)
renvoie ["1", index: 0, input: "1 2 1 5 6 7", groups: undefined]
. Comme vous pouvez le constater, nous ne pouvons prendre que la première correspondance "1"
.'1 2 1 5 6 7'.match(/\d+/g)
renvoie un tableau de toutes les correspondances ["1", "2", "1", "5", "6", "7"]
.A côté de la signification déjà mentionnée du drapeau g
, il affecte la propriété regexp.lastIndex
:
lastIndex est une propriété entière en lecture/écriture des instances d'expressions régulières qui spécifie l'index auquel commencer la prochaine correspondance. (...) Cette propriété est définie uniquement si l'instance d'expression régulière a utilisé le drapeau "g" pour indiquer une recherche globale.
Référence: Mozilla Developer Network
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.