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.
Exemple interactif
const regex1 = /fooBar/gi;
console.log(regex1.source);
// Expected output: "fooBar"
console.log(new RegExp().source);
// Expected output: "(?:)"
console.log(new RegExp("\n").source === "\\n");
// Expected output: true (starting with ES5)
// Due to escaping
Attributs de RegExp.prototype.source | |
---|---|
Écrivable | Non |
Énumérable | Non |
Configurable | Oui |
Exemples
>Utiliser <code>source</code>
var regex = /totoMachin/gi;
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