RegExp Modifiers (?i:...)
JavaScript 🟡 MidDé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
Sources
Fiche mise à jour le 2026-09-27