Passer au contenu principal
eLearner.app
Module 7 · Leçon 1 sur 425/32 dans le cours~12 min
Leçons du module (1/4)

Tous les flags en détail

Résumé complet de tous les drapeaux disponibles en JavaScript moderne (ES2024). Un drapeau est un caractère unique qui modifie le comportement de l'expression régulière ; ils se combinent dans n'importe quel ordre.

DrapeauNomEffet
gMondialRecherchez toutes les correspondances, pas seulement la première (obligatoire pour matchAll).
iIgnorer les maisonsInsensible à la casse (y compris les caractères Unicode avec l'indicateur u/v).
mMultiligne^ et $ correspondent au début/fin de la ligne, pas seulement à la chaîne.
sPointez toutLe . correspond également à la nouvelle ligne \n.
uUnicodeCorrigez le traitement des points de code > 0xFFFF et activez \\p{...}.
vMode V UnicodeExtension moderne de u avec des opérations définies ([abc&&[def]]).
yCollantCorrespondance uniquement à partir de la position lastIndex, pas de saut.
dA des indicesLe résultat inclut indices avec début/fin de chaque groupe.
JS
const re = /foo/gimu; // global + insensitive + multiline + unicode
re.flags; // "gimu" (sempre in ordine canonico: dgimsuvy)

Combinaisons typiques

  • g + i -- "trouver tout, sans tenir compte de la casse". 80% d'utilisations pratiques.
  • g + m -- pour faire correspondre ligne par ligne dans un texte multiligne.
  • g + s -- "le point correspond à tout, même aux nouvelles lignes". Utile pour extraire des blocs sur plusieurs lignes.
  • u (ou v) -- toujours si vous avez affaire à de vrais textes en italien ou en emoji.

Unicode v-mode et évolution des drapeaux

L'indicateur v (disponible dans ES2024) remplace u et permet des opérations d'ensemble avancées, telles que l'intersection et la soustraction de classes de caractères (par exemple [\\p{White_Space}&&\\p{ASCII}]).

Essayez-le vous-même

Exercice#regex.m7.l1.e1
Tentatives : 0Chargement…

Trova tutte le occorrenze di 'ciao' indipendentemente da maiuscole/minuscole. Usa la flag corretta.

Chargement de l'éditeur…
Afficher l'indice

Aggiungi la flag i (case-insensitive) accanto a g.

Solution disponible après 3 tentatives

Exercice de révision

Exercice#regex.m7.l1.e2
Tentatives : 0Chargement…

Trova un blocco fra `<pre>` e `</pre>` anche se contiene newline. Devi usare la flag che fa matchare il punto anche ai newline.

Chargement de l'éditeur…
Afficher l'indice

Aggiungi la flag s perche' . matchi anche newline, e usa lazy .+? per fermarsi alla prima </pre>.

Solution disponible après 3 tentatives

Défi supplémentaire

Exercice#regex.m7.l1.e3
Tentatives : 0Chargement…

Matcha sequenze di caratteri ASCII escludendo esplicitamente le cifre usando le proprietà Unicode v-mode (flag `v`) e la sintassi di sottrazione dei set `[\p{ASCII}--\p{Nd}]+`.

Chargement de l'éditeur…
Afficher l'indice

Usa la flag v e scrivi la sottrazione di set [\p{ASCII}--\p{Nd}]+ per escludere i numeri.

Solution disponible après 3 tentatives