Maison > interface Web > js tutoriel > Comment puis-je échapper correctement aux barres obliques inverses dans les chaînes JavaScript et les expressions régulières ?

Comment puis-je échapper correctement aux barres obliques inverses dans les chaînes JavaScript et les expressions régulières ?

DDD
Libérer: 2024-12-16 22:16:17
original
616 Les gens l'ont consulté

How Do I Properly Escape Backslashes in JavaScript Strings and Regular Expressions?

Barres obliques inverses simples dans les chaînes : un guide complet

En JavaScript, l'utilisation d'une barre oblique inverse unique dans une chaîne peut être délicate en raison de sa signification particulière dans les chaînes et les expressions régulières. Pour obtenir une barre oblique inverse réelle dans une valeur, il est nécessaire d'utiliser des séquences d'échappement.

Échapper aux barres obliques inverses dans les chaînes

Dans les littéraux de chaîne JavaScript, pour inclure une barre oblique inverse littérale, utilisez doubles barres obliques inverses (). Par exemple :

var str = "\I have one backslash";
Copier après la connexion

Dans ce scénario, la première barre oblique inverse agit comme un caractère d'échappement, indiquant que le caractère suivant doit être traité littéralement. Par conséquent, la variable str contiendra une chaîne avec une seule barre oblique inverse.

Échapper aux barres obliques inverses dans les expressions régulières

Les expressions régulières utilisent également des barres obliques inverses, il est donc essentiel de distinguer entre les barres obliques inverses réelles et les séquences d'échappement. Pour faire correspondre une barre oblique inverse littérale dans une expression régulière, utilisez des doubles barres obliques inverses ().

var rex = /\/;
Copier après la connexion

Création d'expressions régulières à partir de chaînes

Lors de la création d'une expression régulière à partir d'une chaîne , deux niveaux d'échappement sont impliqués : les chaînes littérales et les modèles d'expression régulière. Par exemple, pour faire correspondre une seule barre oblique inverse à l'aide d'une expression régulière créée par une chaîne :

// Matches *one* backslash
var rex = new RegExp("\\");
Copier après la connexion

Les deux premières barres obliques inverses échappent à une barre oblique inverse dans le littéral de chaîne, tandis que les deux secondes barres obliques inverses créent la séquence d'échappement souhaitée dans la barre oblique inverse régulière. modèle d'expression.

Mise à jour ES2015 : String.raw et Template Littéraux

Dans ES2015, les littéraux de modèle offrent un moyen alternatif d'inclure des barres obliques inverses littérales sans échappement supplémentaire.

// Using String.raw
let str = String.raw`\apple`;
Copier après la connexion

Attention :

Les expressions de substitution (${}) ne peuvent pas être utilisées dans les littéraux de modèle contenant des barres obliques inverses littérales. car ils modifient le comportement littéral.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal