182 votes

Quelle est la signification du drapeau 'g' dans les expressions régulières?

Quelle est la signification du drapeau g dans les expressions régulières?

Quelle est la différence entre /.+/g et /.+/?

10voto

Nagibaba Points 419
  1. g -> renvoie toutes les correspondances
  2. sans g -> renvoie la première correspondance

exemple:

  1. '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".
  2. '1 2 1 5 6 7'.match(/\d+/g) renvoie un tableau de toutes les correspondances ["1", "2", "1", "5", "6", "7"].

9voto

matiska Points 395

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

3voto

Neonguardian Points 49

G en expressions régulières définit une recherche globale, ce qui signifie qu'il rechercherait toutes les occurrences sur toutes les lignes.

3voto

Deepak Points 143

Donnera un exemple basé sur une chaîne. Si nous voulons supprimer toutes les occurrences d'une chaîne. Disons que si nous voulons supprimer toutes les occurrences de "o" par "" de "hello world"

"hello world".replace(/o/g,'');

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