문자열을 역방향으로 검색하기 위해 NSBackwardSearch
에 대한 지식이 있습니다.역방향의 NSRegularExpression?
내 질문에 NSRegularExpression
을 통해 동일한 역방향 검색을 수행 할 수 있습니까?
그렇다면 지식을 공유해주세요.
문자열을 역방향으로 검색하기 위해 NSBackwardSearch
에 대한 지식이 있습니다.역방향의 NSRegularExpression?
내 질문에 NSRegularExpression
을 통해 동일한 역방향 검색을 수행 할 수 있습니까?
그렇다면 지식을 공유해주세요.
NSRegularExpression을 사용하여 뒤로 검색한다는 개념이 없으므로 캡처 그룹을 사용하고 마지막 항목을 찾아야합니다. class reference에 아무데도 언급되어 있지 않습니다.
매우 큰 문자열의 후반 부분에 일치하는 것으로 판단되는 이유가 있다면 먼저 큰 문자열의 하위 문자열을 검색 할 수 있지만 개인적으로는이 방법으로 미리 코드를 최적화하지 않으려 고합니다.
설명 주셔서 감사합니다. – Kirubachari
당신은 당신이 당신의 정규 표현식의 결과 배열에 사용하여 열거 되돌릴 수 : 검색 할 때
NSString *regExPattern = @"<strong>.*?</strong>";
NSError *error = nil;
static NSRegularExpression *regex = nil;
regex = [NSRegularExpression regularExpressionWithPattern:regExPattern
options:NSRegularExpressionCaseInsensitive | NSRegularExpressionDotMatchesLineSeparators
error:&error];
NSArray *matches = [regex matchesInString:HTMLString options:0 range:NSMakeRange(0, HTMLString.length)];
for (NSTextCheckingResult *result in [matches reverseObjectEnumerator] /*HERE'S THE MAGIC*/)
{
//Do something here
}
당신이 뒤로 문자열을 마지막 경기를 찾거나 읽을 하시겠습니까을? –
나의 목표는 마지막 시합을 찾는 것입니다. 그러나 긴 문자열 인 경우 모든 항목을 찾은 다음 결과를 [occurrence.length-1]만큼 얻는 것이 최적이 아닙니다. – Kirubachari