2014年12月13日土曜日

NSRegularExpression/CocoaOniguruma 比較

NSRegularExpression CocoaOniguruma
Regular Expression Class NSRegularExpression OnigRegExp
Convenience Constructor regularExpressionWithPattern:options:error: compile:error:
Scanning Method(First match) firstMatchInString:options:range: search:range:
Matching Result Class NSTextCheckingResult OnigResult
Match Count [NSTextCheckingResult numberOfRanges] [OnigResult count]
Matched n-th String [NSString substringWithRange:[NSTextCheckingResult rangeAtIndex:n]] [OnigResult stringAt:n]

NSRegularExpression/CocoaOnigurumaともに先頭のrange/stringは指定した正規表現にマッチした文字列全体を示しているので、 実際にマッチした数はnumberOfRanges/countよりも1つ少なくなるようだ。