RegExp Modifiers (?i:...)

JavaScript 🟡 Mid

Définition

Modificateurs inline standardisés dans ES2025 : (?i:motif), (?m:motif), (?s:motif) activent un drapeau sur une portion seulement, et (?-i:motif) le désactive. Seuls i, m et s sont autorisés ; g, y, u, v et d restent globaux. Disponible dans les navigateurs majeurs depuis septembre 2025 (Baseline 2025).

Analogie

Un interrupteur local dans une pièce, plutôt que le disjoncteur général de la maison.

Exemple de code

// 'hello' insensible à la casse, 'World' sensible
const re = /(?i:hello) World/;
re.test('HELLO World'); // true
re.test('hello world'); // false

// Désactiver m localement dans une regex multi-lignes
const front = /(?-m:^)---\n^title:.*$/ms;

Cas d'usage

Grammaires, lexers, validations où une seule partie du motif doit ignorer la casse.

Anti-pattern

Dupliquer la regex en deux variantes (avec et sans i) : les modificateurs évitent la duplication.

Termes liés

#core#ES2025#regex

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre