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

関連する問題