2010-12-04 5 views
3

사용자가 입력 한 문자열을 사용하는 정규 표현식을 만들었지 만 문자열에 다음과 같은 특수 문자가 포함될 수 있습니다. \ 또는 * 그리고 나는 이들을 리터럴로 취급하고 정규 표현식에서 특별한 의미로 해석하지 않기를 바란다.RegexKitLite를 사용하여 NSString의 특수 문자를 어떻게 이스케이프합니까?

NSString *word = [input stringByReplacingOccurrencesOfRegex:@"(\\P{L})" withString:@"\\$1"]; 

하지만 비 편지 문자는 '$ 1'대신 백 슬래시로 시작되는 변환됩니다 : 나는 이것을 시도했습니다. 두 번째 용어에서 하나와 세 개의 백 슬래시를 시도했지만 Xcode에서는 '알 수없는 이스케이프 시퀀스'경고가 표시됩니다. RegexKitLite가 달러 기호를 벗어나고 있다고 생각하지 않고 백 슬래시를 어떻게 인쇄 할 수 있습니까?

+0

감사합니다 조를하게된다 - 나는 질문을 업데이트했습니다. –

답변

7

평소처럼 표현식을 작성한 다음 각 단일 백 슬래시를 2 개로 바꾸십시오. 따라서

\. 

\\. 

\\ 

\\\\ 
+0

Matthew에게 감사드립니다. 이 경우 네 개의 백 슬래시가 필요합니다. 내가 왜 처음에 그것을 시도하지 않은지 모르겠다. –

관련 문제