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.
Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner https://github.com/mdn/interactive-examples et à envoyer une pull request !
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 | État | 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 (ECMA-262) La définition de 'RegExp.prototype.source' dans cette spécification. |
Standard évolutif |
Compatibilité des navigateurs
BCD tables only load in the browser