> 웹 프론트엔드 > JS 튜토리얼 > JavaScript 문자열 및 정규식에서 백슬래시를 올바르게 이스케이프하려면 어떻게 해야 합니까?

JavaScript 문자열 및 정규식에서 백슬래시를 올바르게 이스케이프하려면 어떻게 해야 합니까?

DDD
풀어 주다: 2024-12-16 22:16:17
원래의
618명이 탐색했습니다.

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

문자열의 단일 백슬래시: 종합 가이드

JavaScript에서는 문자열 내에서 단일 백슬래시를 사용하는 것이 특별한 의미로 인해 까다로울 수 있습니다. 문자열과 정규식 모두에서. 값 내에서 실제 백슬래시를 얻으려면 이스케이프 시퀀스를 사용해야 합니다.

문자열에서 백슬래시 이스케이프

JavaScript 문자열 리터럴에서 리터럴 백슬래시를 포함하려면 다음을 사용하세요. 이중 백슬래시(). 예:

var str = "\I have one backslash";
로그인 후 복사

이 시나리오에서 첫 번째 백슬래시는 이스케이프 문자 역할을 하며, 이는 다음 문자가 문자 그대로 처리되어야 함을 나타냅니다. 결과적으로 변수 str에는 단일 백슬래시가 있는 문자열이 포함됩니다.

정규 표현식에서 백슬래시 이스케이프

정규 표현식도 백슬래시를 사용하므로 구별하는 것이 중요합니다. 실제 백슬래시와 이스케이프 시퀀스 사이. 정규식에서 리터럴 백슬래시를 일치시키려면 이중 백슬래시()를 사용합니다.

var rex = /\/;
로그인 후 복사

문자열에서 정규식 생성

문자열에서 정규식을 생성하는 경우 , 문자열 리터럴과 정규식 패턴이라는 두 가지 이스케이프 수준이 관련됩니다. 예를 들어, 문자열 생성 정규 표현식을 사용하여 단일 백슬래시를 일치시키려면:

// Matches *one* backslash
var rex = new RegExp("\\");
로그인 후 복사

처음 두 개의 백슬래시는 문자열 리터럴에서 백슬래시를 이스케이프 처리하고, 두 번째 두 개의 백슬래시는 정규 표현식 내에서 원하는 이스케이프 시퀀스를 생성합니다. 표현식 패턴.

ES2015 업데이트: String.raw 및 템플릿 리터럴

ES2015에서 템플릿 리터럴은 추가 이스케이프 없이 리터럴 백슬래시를 포함하는 대체 방법을 제공합니다.

// Using String.raw
let str = String.raw`\apple`;
로그인 후 복사

주의:

대체 표현식(${})은 리터럴을 포함하는 템플릿 리터럴 내에서 사용할 수 없습니다. 백슬래시는 문자 그대로의 동작을 변경합니다.

위 내용은 JavaScript 문자열 및 정규식에서 백슬래시를 올바르게 이스케이프하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿