| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Regular_expressions/Character_escape | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
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.
Un caractre chapp (character escape en anglais) reprsente un caractre qui ne peut pas tre reprsent de manire pratique sous sa forme littrale.
\f, \n, \r, \t, \v
\cA, \cB, , \cz
\0
\^, \$, \\, \., \*, \+, \?, \(, \), \[, \], \{, \}, \|, \/
\xHH
\uHHHH
\u{HH}
Note :
, ne fait pas partie de la syntaxe.
HHUn nombre hexadcimal reprsentant le point de code Unicode du caractre. La forme \xHH doit avoir deux chiffres hexadcimaux ; la forme \uHHHH doit en avoir quatre ; la forme \u{HH} peut en avoir de 1 6.
Les caractres chapps suivants sont reconnus dans les expressions rationnelles :
\f, \n, \r, \t, \vIdentiques ceux des littraux de chane de caractres, sauf \b, qui reprsente une limite de mot dans les expressions rationnelles, sauf dans une classe de caractres.
\c suivie d'une lettre de A Z ou de a zReprsente le caractre de contrle dont la valeur est gale la valeur du caractre de la lettre modulo 32. Par exemple, \cJ reprsente un saut de ligne (\n), car le point de code de J est 74, et 74 modulo 32 est 10, ce qui est le point de code du saut de ligne. Comme une lettre majuscule et sa forme minuscule diffrent de 32, \cJ et \cj sont quivalents. Vous pouvez reprsenter les caractres de contrle de 1 26 sous cette forme.
\0Reprsente le caractre NUL U+0000. Il ne peut pas tre suivi d'un chiffre (ce qui en fait une squence d'chappement octal historique).
\^, \$, \\, \., \*, \+, \?, \(, \), \[, \], \{, \}, \|, \/Reprsentent le caractre lui-mme. Par exemple, \\ reprsente une barre oblique inverse, et \( reprsente une parenthse ouvrante. Ce sont des caractres syntaxiques dans les expressions rationnelles (/ dlimite un littral d'expression rationnelle), ils doivent donc tre chapps sauf dans une classe de caractres.
\xHHReprsente le caractre correspondant au point de code Unicode hexadcimal indiqu. Le nombre hexadcimal doit comporter exactement deux chiffres.
\uHHHHReprsente le caractre correspondant au point de code Unicode hexadcimal indiqu. Le nombre hexadcimal doit comporter exactement quatre chiffres. Deux squences d'chappement de ce type permettent de reprsenter une paire de substituts en mode sensible l'Unicode. (En mode insensible l'Unicode, elles reprsentent toujours deux caractres distincts.)
\u{HH}(uniquement en mode sensible l'Unicode) Reprsente le caractre correspondant au point de code Unicode hexadcimal indiqu. Le nombre hexadcimal peut comporter de 1 6 chiffres.
En mode insensible l'Unicode, les squences d'chappement qui ne figurent pas ci-dessus deviennent des chappements d'identit : elles reprsentent le caractre qui suit la barre oblique inverse. Par exemple, \a reprsente le caractre a. Ce comportement limite la possibilit d'introduire de nouvelles squences d'chappement sans provoquer de problmes de compatibilit ascendante, il est donc interdit en mode sensible l'Unicode.
En mode insensible l'Unicode, ], {, et } peuvent apparatre littralement s'il est impossible de les analyser comme la fin d'une classe de caractres ou comme des dlimiteurs de quantificateur. Il s'agit d'une syntaxe obsolte pour la compatibilit du Web, et vous ne devez pas vous y fier.
En mode insensible l'Unicode, les squences d'chappement de la forme \cX dans les classes de caractres, o X est un chiffre ou _, sont dcodes comme celles contenant des lettres ASCII : \c0 quivaut \cP modulo 32. De plus, si la forme \cX apparat un endroit o X n'est pas un caractre reconnu, la barre oblique inverse est traite comme un caractre littral. Ces syntaxes sont galement obsoltes.
/[\c0]/.test("\x10"); // true
/[\c_]/.test("\x1f"); // true
/[\c*]/.test("\\"); // true
/\c/.test("\\c"); // true
/\c0/.test("\\c0"); // true (la syntaxe \c0 n'est prise en charge que dans les classes de caractres)
Les caractres chapps sont utiles lorsque vous souhaitez faire correspondre un caractre qui n'est pas facilement reprsentable sous sa forme littrale. Par exemple, vous ne pouvez pas utiliser un saut de ligne littralement dans un littral d'expression rationnelle, vous devez donc utiliser un caractre chapp :
const motif = /a\nb/;
const chaineDeCaracteres = `a
b`;
console.log(motif.test(chaineDeCaracteres)); // true
| Spcification |
|---|
| ECMAScript 2027 LanguageSpecification # prod-CharacterEscape |
[...], [^...]\d, \D, \w, \W, \s, \Sa, b\p{...}, \P{...}\1, \2\k<name>\b, \BCette page a t modifie le 9 oct. 2026 par les contributeurices du MDN.
Certaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |