2012-06-15 2 views
2
<NSSimpleRegularExpressionCheckingResult: 0x100217890>{0, 4}{<NSRegularExpression: 0x100214700> test 0x1} 

정규 표현식 검색의 결과를 저장하는 배열의 한 요소입니다.객관적인 C에서의 정규식 도움말

내가 원하는 것을 얻었습니다 : '테스트'. 그것은 즉

<NSSimpleRegularExpressionCheckingResult: 0x100217890>{0, 4}{<NSRegularExpression: 0x100214700> etc 

은 내가

즉,이 요소에 무언가를 보내야 할거야 느낌이있어 주위에 나는 그러나 모든 물건을 원하지 않는

[요소 stringValue]

하지만 난 그게 뭔지 발견 약간의 도움이 필요합니다 ..

내 전체 코드는 다음과 같습니다 :

NSString *test = @"test 123 test"; 
NSRegularExpression* regex = [[NSRegularExpression alloc] initWithPattern:@"test" options:NSRegularExpressionCaseInsensitive error:nil]; 
NSArray* result = [regex matchesInString:test options:0 range:NSMakeRange(0, [test length])]; 
NSLog(@" %@", [result objectAtIndex:0]); 

<NSSimpleRegularExpressionCheckingResult: 0x105b17890>{0, 4}{<NSRegularExpression: 0x105b14700> test 0x1} 

감사를 두는!

답변

3
[regex matchesInString... 

은 NSTextCheckingResults의 NSArray를 제공합니다. firstMatchInSting : options : range : substringWithRange : 메서드를 사용하여 문자열에 적용 할 범위 (NSRange)를 얻을 수있는 NSTextCheckingResult를 제공합니다.

당신이 이해할 수 있기를 바랍니다. 그렇지 않다면 나는 더 신중하게 설명 할 것입니다. 그럼에도 불구하고, NSRegularExpression referenceNSTextCheckingResult reference을 읽을

+0

예 ..... 나 자신이 매우 혼란 가지고로이 질문을 무시 가치가있을 수도 있습니다! 이것이 기본적으로, 문자열에서 원하는 부분 문자열 (즉, 범위)의 위치를 ​​찾기 위해 정규 표현식을 사용하고 NSString에서 해당 범위를 잡을 수 있습니까? 내가 제대로 이해 한 것처럼 들리는가? – neutrino

+0

@neutreno 기본적으로 맞습니다. 실제 솔루션은 좀 더 복잡하지만 주제에 대한 참조 및 몇 가지 질문을 보면 문제가 없습니다. – Protheus

+0

은 일을하기에 꽤 복잡하게 보입니다. PHP와는 달리 내가 익숙한 것들! – neutrino

0

오케이. 나는 과정을 만들고있다. 내가 요소에 '으로 RegularExpression를 보낼 경우, 나는이 개체의 인쇄 아웃이라고 알고 있어요하지만 텍스트를 분리하는 방법을 아직 확실하지 오전

<NSRegularExpression: 0x106214700> test 0x1 

까지 결과를 좁힐!

+0

좋아 .. 나는 단순히 – neutrino