RegExp.prototype.source

La propriété source renvoie une chaîne de caractères qui contient le texte du motif à rechercher (pattern), sans les barres obliques (slashes). C'est une propriété en lecture seule liée à l'instance. source ne contient aucun des options ou drapeaux (flags) (tels que "g", "i" ou "m") de l'expression rationnelle.

Attributs de RegExp.prototype.source
Écrivable Non
Énumérable Non
Configurable Oui

Exemples

Utiliser source

var regex = /totoMachin/ig;

console.log(regex.source); // "totoMachin"

Les expressions ratonnelles vides et l'échappement

À partir d'ECMAScript 5, la propriété source ne renvoie plus une chaîne vide pour les expressions rationnelles vides. Elle renvoie la chaîne "(?:)". De plus, les fins de lignes (telles que "\n") sont désormais échappées.

new RegExp().source; // "(?:)"

new RegExp('\n').source === "\n";  // true avant ES5
new RegExp('\n').source === "\\n"; // true à partir d'ES5

Spécifications

Spécification Statut Commentaires
ECMAScript 3rd Edition (ECMA-262) Standard Définition initiale. Implémentée avec JavaScript 1.2. Avec JavaScript 1.5 : source est une propriété de l'instance de RegExp, ce n'est pas une propriété de l'objet RegExp.
ECMAScript 5.1 (ECMA-262)
La définition de 'RegExp.prototype.source' dans cette spécification.
Standard source renvoie désormais "(?:)" (et non "") pour les expressions vides. La définition du comportement pour les échappements a été ajoutée.
ECMAScript 2015 (6th Edition, ECMA-262)
La définition de 'RegExp.prototype.source' dans cette spécification.
Standard source est désormais un accesseur lié au prototype plutôt qu'une propriété directement rattachée à l'instance.
ECMAScript 2017 Draft (ECMA-262)
La définition de 'RegExp.prototype.source' dans cette spécification.
Projet  

Compatibilité des navigateurs

Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari
Support simple (Oui) (Oui) (Oui) (Oui) (Oui)
"(?:)" pour les expressions vides ? 38 (38) ? ? (Oui)
Échappement ? 38 (38) ? ? ?
Propriété liée au prototype sous forme d'accesseur ? 41 (41) ? ? ?
Fonctionnalité Android Chrome pour Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Support simple (Oui) (Oui) (Oui) (Oui) (Oui) (Oui)
"(?:)" pour les expressions vides ? ? 38.0 (38) ? ? ?
Échappement ? ? 38.0 (38) ? ? ?
Propriété liée au prototype sous forme d'accesseurs ? ? 41.0 (41) ? ? ?

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : SphinxKnight, Goofy
 Dernière mise à jour par : SphinxKnight,