--- title: RegExp.prototype.source slug: Web/JavaScript/Reference/Global_Objects/RegExp/source tags: - JavaScript - Propriété - Prototype - Reference - RegExp translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/source original_slug: Web/JavaScript/Reference/Objets_globaux/RegExp/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.
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 !
source
var regex = /totoMachin/ig; console.log(regex.source); // "totoMachin"
À 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écification | État | Commentaires |
---|---|---|
{{SpecName('ES3')}} | {{Spec2('ES3')}} | Définition initiale. Implémentée avec JavaScript 1.2. Avec JavaScript 1.5 : source est une propriété de l'instance de {{jsxref("RegExp")}}, ce n'est pas une propriété de l'objet RegExp . |
{{SpecName('ES5.1', '#sec-15.10.7.1', 'RegExp.prototype.source')}} | {{Spec2('ES5.1')}} | source renvoie désormais "(?:)" (et non "") pour les expressions vides. La définition du comportement pour les échappements a été ajoutée. |
{{SpecName('ES6', '#sec-get-regexp.prototype.source', 'RegExp.prototype.source')}} | {{Spec2('ES6')}} | source est désormais un accesseur lié au prototype plutôt qu'une propriété directement rattachée à l'instance. |
{{SpecName('ESDraft', '#sec-get-regexp.prototype.source', 'RegExp.prototype.source')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.builtins.RegExp.source")}}