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
Étiquettes :
Contributeurs à cette page :
SphinxKnight,
Goofy
Dernière mise à jour par :
SphinxKnight,