RegexKitLite를 사용하고 있는데 패턴 일치를 시도하고 있습니다.
다음 정규식 패턴은 N을 포함하는 내 단어를 titlde로 캡처하지 않습니다. 누락 된 문자열 변환이 있습니까?비 ASCII 문자를 RegexKitLite와 어떻게 일치 시키나요?
subjectString = @"define_añadir";
//regexString = @"^define_(.*)"; //this pattern does not match, so I assume to add the ñ
//regexString = @"^define_([.ñ]*)"; //tried this pattern first with a range
regexString = @"^define_((?:\\w|ñ)*)"; //tried second
NSString *captured= [subjectString stringByMatching:regexString capture:1L];
//I want captured == añadir
수정 : 내가 게시 한 예제가 작동합니다. 코드를 쉽게 읽을 수 있도록 단순화했지만 더 많은 단서가있을 수 있습니다 ... 내 소스 코드 파일 .m은 UTF8입니다. 유닉스 명령어'file'로 확인합니다. 이 문자열 값은 실제로 UTF8에있는 HTML 파일에서 읽습니다. "define_añadir"이 HTML에서 subjectString으로 읽히길 기대하는 "xn - define_aadir-hhb"을 나타 내기 위해 NSLog로 파일 내용을 인쇄했습니다. Alan에 대해 언급 한대로 컴파일러가 기대하는 인코딩은 어디에서 확인할 수 있습니까? 또한 내가 찾은 모든 소스 파일이 UTF8이 아니며 일부는 ASCII입니다. 이것이 문제가 될 수 있습니까? – ojreadmore
ASCII는 UTF-8의 서브 세트이므로 모든 ASCII 파일도 UTF-8 파일입니다. 나머지는 내 편집을 참조하십시오. –