u16suzuの blog

u16suzu のブログです。

正規表現による検索

// 正規表現オブジェクトを作成
NSRegularExpression *regularExpression = [NSRegularExpression regularExpressionWithPattern:@"reg_exp"
                                          options:NSRegularExpressionCaseInsensitive error:nil];

NSString *targetString = @"target string"

// 検索実施
NSArray *matches = [regularExpression matchesInString:targetString options:0 range:NSMakeRange(0, targetString.length)];

// マッチした位置に対して処理
[matches enumerateObjectsUsingBlock:^(NSTextCheckingResult *result, NSUInteger idx, BOOL *stop) {
    // マッチした位置は NSRangeオブジェクトの形式でとりだせる
    // result.range
}];

// 先頭のマッチだけ調べたいとき
// [regularExpression firstMatchInString:<#(NSString *)#> options:<#(NSMatchingOptions)#> range:<#(NSRange)#>]

// マッチした数だけ調べたいとき
// [regularExpression numberOfMatchesInString:<#(NSString *)#> options:<#(NSMatchingOptions)#> range:<#(NSRange)#>]

// 置換したいとき
// replaceMatchesInString:options:range:withTemplate: