RegExp.prototype.source

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

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
ÉcrivableNon
ÉnumérableNon
ConfigurableOui

Exemples

Utiliser source

js
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.

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

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

Spécifications

Specification
ECMAScript® 2025 Language Specification
# sec-get-regexp.prototype.source

Compatibilité des navigateurs

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
source
"(?:)" for empty regexps
Line breaks and slashes are escaped
Prototype accessor property (ES2015)

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Voir aussi