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";
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 = /\/;
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("\\");
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`;
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!