2012-02-08 4 views
2

NSRegularExpression을 사용하여 대/소문자를 검색하도록 지정하는 방법이 있습니까? 아래 텍스트에서 대문자 태그 "ACL"과 일치 시키려고합니다. 내가 사용 패턴은 간단하다 :NSRegularExpression은 대/소문자를 구분하는 일치를 지정합니까?

// Pattern 
[A-Z]+ 

// SearchText 
<td align=\"left\" nowrap><font face=\"courier, monospace\" size=\"-1\">ACL*</font></td> 

// Code: 
NSString *textBuffer = @"<td align=\"left\" nowrap><font face=\"courier, monospace\" size=\"-1\">ACL*</font></td>"; 
NSString *pattern = @"([A-Z]+)"; 
NSRegularExpression *regExp = [NSRegularExpression regularExpressionWithPattern:pattern options:NSRegularExpressionCaseInsensitive error:nil]; 
NSTextCheckingResult *result = [regExp firstMatchInString:textBuffer options:0 range:NSMakeRange(0, [textBuffer length])]; 
NSLog(@"OBJECT CLASS: %@", [textBuffer substringWithRange:[result range]]); 

출력 : (대소 Insensative과 내가 내가 정말 원하는 것은

나는 알고있다 "ACL"인 경우, 예상대로 첫 번째 "TD"를 얻고있다 NSRegularExpressionCaseInsensitive 잘못이다, 나는 NSRegularExpressionCaseSensitive 것이 기대했다. 또한 또한 내가 실종 무엇에 대한 대소 sensative. 소문자를 구분하지 않는 검색하지만 다시 아무것도를 지정하는 flagOption ?(i)가?

답변

10

대소 문자 구분이 기본값입니다 그럴 수없는 플래그를 레.

+1

NSRegularExpressionCaseInsensitive를 0으로 대체하면 고맙습니다. 단지 전용 옵션이 없다는 것이 이상하게 보입니다. – fuzzygoat

+0

@fuzzygoat 대문자와 소문자를 구별하는 검색이 빠르기 때문에 기본 옵션으로 사용할 수 없습니다. – Costique

+0

많이 감사합니다 ... – fuzzygoat

관련 문제