Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# 이스케이프 문자 완벽 정리: 종류와 사용 예제

C#에서 이스케이프 문자(Escape Character)는 역슬래시(\)와 함께 사용되어 탭, 줄 바꿈, 특수 제어 문자 등을 표현하는 특별한 문자 시퀀스입니다. 특히 정규식(Regular Expression)을 다룰 때 자주 활용되므로 각 문자의 의미를 정확히 이해하는 것이 중요합니다.

C# 주요 이스케이프 문자 목록

아래는 C#에서 사용할 수 있는 대표적인 이스케이프 문자와 설명, 그리고 정규식 패턴 예제입니다.

이스케이프 문자설명패턴 예제
\a벨(bell) 문자 \u0007과 일치합니다.\a
\b문자 클래스 내에서 백스페이스(backspace) 문자 \u0008과 일치합니다.[\b]{3}
\t탭(tab) 문자 \u0009와 일치합니다.(\w+)\t
\r캐리지 리턴(carriage return) 문자 \u000D와 일치합니다. 참고로 \r은 줄 바꿈 문자인 \n과 동일하지 않습니다.\r\n(\w+)
\v세로 탭(vertical tab) 문자 \u000B와 일치합니다.[\v]{2}
\f폼 피드(form feed) 문자 \u000C와 일치합니다.[\f]{2}
\n새 줄(new line) 문자 \u000A와 일치합니다.\r\n(\w+)
\e이스케이프(escape) 문자 \u001B와 일치합니다.\e
\nnn8진수 표현법으로 문자를 지정합니다. nnn은 최대 3자리 숫자로 구성됩니다.\w\040\w
\x nn16진수 표현법으로 문자를 지정합니다. nn은 반드시 2자리 숫자여야 합니다.\w\x20\w
\c X / \c xX 또는 x가 지정하는 ASCII 제어 문자와 일치합니다. 여기서 X 또는 x는 제어 문자에 해당하는 알파벳입니다.\cC
\u nnnn16진수 표현법으로 유니코드 문자와 일치합니다. nnnn은 정확히 4자리 숫자여야 합니다.\w\u0020\w
\뒤에 오는 문자가 이스케이프 문자로 인식되지 않는 경우, 해당 문자 그대로와 일치합니다.\d+[\+-x\*]\d+

이스케이프 문자 사용 시 주의사항

정규식에서 역슬래시(\) 자체를 문자로 매칭하려면 \\처럼 두 번 작성해야 합니다. 또한 C# 문자열에서는 이스케이프 시퀀스가 먼저 해석되므로, 정규식을 작성할 때는 축자 문자열(literal string)인 @"..." 형태를 사용하면 역슬래시 처리가 훨씬 간편해집니다.

예제 코드

string pattern = @"\d+\s\w+";  // 숫자 + 공백 + 문자 조합 매칭
string input = "123 apple";
bool isMatch = System.Text.RegularExpressions.Regex.IsMatch(input, pattern);

위 표의 이스케이프 문자들을 잘 활용하면 공백, 탭, 줄 바꿈 등 다양한 제어 문자를 정확하게 처리할 수 있어 더욱 견고한 문자열 처리 로직을 구현할 수 있습니다.