RegExp : méthode toString()
Baseline
Large disponibilité
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
La méthode toString() des instances de RegExp retourne une chaîne de caractères représentant cette expression rationnelle.
Exemple interactif
console.log(new RegExp("a+b+c"));
// Résultat attendu : /a+b+c/
console.log(new RegExp("a+b+c").toString());
// Résultat attendu : "/a+b+c/"
console.log(new RegExp("bar", "g").toString());
// Résultat attendu : "/bar/g"
console.log(new RegExp("\n", "g").toString());
// Résultat attendu : "/\n/g"
console.log(new RegExp("\\n", "g").toString());
// Résultat attendu : "/\n/g"
Syntaxe
toString()
Paramètres
Aucun.
Valeur de retour
Une chaîne de caractères représentant l'objet donné.
Description
L'objet RegExp surcharge la méthode toString() de l'objet Object. Il n'hérite donc pas de Object.prototype.toString(). Pour les objets RegExp, la méthode toString() retourne une représentation de l'expression rationnelle sous la forme d'une chaîne de caractères.
En pratique, elle lit les propriétés source et flags de l'expression rationnelle et retourne une chaîne de caractères sous la forme /source/flags. La valeur de retour de toString() est garantie d'être un littéral d'expression rationnelle analysable, bien qu'elle puisse ne pas être exactement le même texte que celui défini à l'origine pour l'expression rationnelle (par exemple, les indicateurs peuvent être réordonnés).
Exemples
>Utiliser toString()
L'exemple qui suit affiche la chaîne de caractères correspondant à la valeur de l'objet RegExp :
const maRegExp = new RegExp("a+b+c");
console.log(maRegExp.toString()); // affiche "/a+b+c/"
const toto = new RegExp("truc", "g");
console.log(toto.toString()); // affiche "/truc/g"
Expressions rationnelles vides et l'échappement
Puisque toString() accède à la propriété source, une expression rationnelle vide retourne la chaîne de caractères "/(?:)/", et les fins de ligne telles que \n sont échappées. Cela fait en sorte que la valeur retournée est toujours un littéral d'expression rationnelle valide.
new RegExp().toString(); // "/(?:)/"
new RegExp("\n").toString() === "/\\n/"; // true
Spécifications
| Spécification |
|---|
| ECMAScript® 2027 Language Specification> # sec-regexp.prototype.tostring> |
Compatibilité des navigateurs
Voir aussi
- La méthode
Object.prototype.toString()