[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Regular_expressions/Character_escape [Back]  [Original]

Caractre chapp : \n, \u{...} - JavaScript | MDN

Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.

View in English Always switch to English

Caractre chapp : \n, \u{...}

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.

Un caractre chapp (character escape en anglais) reprsente un caractre qui ne peut pas tre reprsent de manire pratique sous sa forme littrale.

Dans cet article

Syntaxe

regex
\f, \n, \r, \t, \v
\cA, \cB, , \cz
\0
\^, \$, \\, \., \*, \+, \?, \(, \), \[, \], \{, \}, \|, \/

\xHH
\uHHHH
\u{HH}

Note : , ne fait pas partie de la syntaxe.

Paramtres

HH

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

Description

Les caractres chapps suivants sont reconnus dans les expressions rationnelles :

\f, \n, \r, \t, \v

Identiques 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 z

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

\0

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

\xHH

Reprsente le caractre correspondant au point de code Unicode hexadcimal indiqu. Le nombre hexadcimal doit comporter exactement deux chiffres.

\uHHHH

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

js
/[\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)

Exemples

Utiliser les caractres chapps

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 :

js
const motif = /a\nb/;
const chaineDeCaracteres = `a
b`;
console.log(motif.test(chaineDeCaracteres)); // true

Spcifications

Spcification
ECMAScript 2027 LanguageSpecification
# prod-CharacterEscape

Compatibilit des navigateurs

Voir aussi


Web Proxy Viewer  |  New URL  |  Original Page