나는 /*
으로 시작하고 다른 색 (C 코멘트의 구문 강조 표시)이 */
으로 끝나는 텍스트를 만드는 프로그램을 작성하고 있습니다. 나는이OS X 정규식에서 리터럴 별표 사용
@"/\*.*\*/";
을 때 나는 unknown escape sequence
를 얻을. 그래서 문자 그대로의 별표를 얻을 것을 생각 나는이
@"/[*].*[*]/";
를 사용했고 나는 오류를 얻을 수 없지만,이 코드
commentPattern = @"/[*].*[*]/";
reg = [NSRegularExpression regularExpressionWithPattern:commentPattern options:kNilOptions error:nil];
results = [reg matchesInString:self.string options:kNilOptions range:NSMakeRange(0, [self.string length])];
for (NSTextCheckingResult *result in results)
{
[self setTextColor:[NSColor colorWithCalibratedRed:0.0 green:0.7 blue:0.0 alpha:1.0] range:result.range];
}
를 사용할 때 주석의 텍스트 색은 변화하지 않습니다 ,하지만 내 정규 표현식에 아무런 문제가 보이지 않습니다. 누군가가 이것이 왜 효과가 없는지 말해 줄 수 있습니까? 다른 정규 표현식에 대해 동일한 방법을 사용하기 때문에 결과를 얻거나 색상을 변경하는 방식에 문제가 있다고 생각하지 않습니다.
'self.string'에'/ * ... * /'형식의 텍스트가 실제로 포함되어 있는지 확인 했습니까? – rmaddy
@rmaddy 지적 해 주셔서 고맙습니다. 잘못된 파일에서이 파일을 테스트했습니다. –