C#에서 인식할 수 없는 이스케이프 시퀀스입니다. 오류가 발생하는 경우는 정규표현식에서 사용하는 메타 캐릭터의 이스케이프를 잘못 설정하는 경우입니다.
간단한 예제자료로 다음 오류를 해결해 보겠습니다.
매개변수 3개는 각각 input string, pattern string, replacement string입니다.
string s = Regex.Replace("[input", "\[", string.Empty);
=>
코드 : CS1009
설명 : 인식할 수 없는 이스케이프 시퀀스입니다.
정규표현식에서 브래킷(brackets)은 메타캐릭터 중에서 캐릭터그룹을 나타냅니다. 대괄호 사이에 있는 문자 중 하나의 표현과 매칭되는지 여부를 판단하지요. 브래킷과 같은 메타캐릭터를 이스케이프 하려면 \가 아니라 \\를 사용하거나 @ 심벌을 사용해야 합니다.
역슬래시를 사용하여 인식할 수 없는 이스케이프 시퀀스입니다. 오류를 해결하는 방법입니다.
string s = Regex.Replace("[input", "\\[", string.Empty);
앳 사인을 사용하여 인식할 수 없는 이스케이프 시퀀스입니다. 오류를 해결하는 방법입니다.
string s = Regex.Replace("[input", @"\[", string.Empty);