正規表現を作る
◆利用するクラス。
NSRegularExpressionクラス
NSTextCheckingResultクラス
NSError *error = nil; NSString *str = @"some text"; NSString *pattern = @"[hoge|fuga]"; //パターンから正規表現を生成する NSRegularExpression *regexp = [NSRegularExpression regularExpressionWithPattern:pattern options:0 error:&error]; //正規表現を適用して結果を得る NSTextCheckingResult *match = [regexp firstMatchInString:str options:0 range:NSMakeRange(0, str.length)]; //正規表現でマッチした部分を取り出す NSLog(@"matches: %d", match.numberOfRanges); //マッチした数 NSLog(@"%@", [str substringWithRange:[match rangeAtIndex:0]]); //マッチした文字列全部 NSLog(@"%@", [str substringWithRange:[match rangeAtIndex:1]]); //最初にマッチした部分 NSLog(@"%@", [str substringWithRange:[match rangeAtIndex:2]]); //以降、マッチした分続く //正規表現でマッチした部分を置き換える NSString *template = @"This is template. first match is $0"; NSString *result = [regexp stringByReplacingMatchesInString:str options:0 range:NSMakeRange(0, str.length) withTemplate:template];