このコードがキャプチャグループではなく正規表現の一致全体を吐き出すだけなのはなぜですか?
入力
@"A long string containing Name:</td><td>A name here</td> amongst other things"
期待される出力
A name here
実際の出力
Name:</td><td>A name here</td>
コード
NSString *htmlString = @"A long string containing Name:</td><td>A name here</td> amongst other things";
NSRegularExpression *nameExpression = [NSRegularExpression regularExpressionWithPattern:@"Name:</td>.*\">(.*)</td>" options:NSRegularExpressionSearch error:nil];
NSArray *matches = [nameExpression matchesInString:htmlString
options:0
range:NSMakeRange(0, [htmlString length])];
for (NSTextCheckingResult *match in matches) {
NSRange matchRange = [match range];
NSString *matchString = [htmlString substringWithRange:matchRange];
NSLog(@"%@", matchString);
}
Appleドキュメントから取得したコード。これを行うための他のライブラリがあることは知っていますが、このタスクに組み込まれているものを使い続けたいと思います。