3

ICUとJavaの正規表現サポート(およびおそらく他のプラットフォーム)は、正規表現のコンパイルを特定の文字列との照合から分離します。これにより、共通の正規表現パターンが複数の文字列と一致する場合のパフォーマンスが向上します。これは、コンパイルする必要があるのは1回だけだからです。

NSRegularExpressionでこれを行う方法はありますか?ドキュメントを正しく読んでいれば、その設計はこれら2つのステップを組み合わせているように見えます。

4

1 に答える 1

2

それらは2つのステップです。まず、正規表現を作成します。

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"<h1>(.*?)</h1>"
                                                                       options:NSRegularExpressionCaseInsensitive
                                                                         error:&error];

次に、それを使用します(明らかに、必要な方法を使用します)。

[regex enumerateMatchesInString:htmlString
                        options:0
                          range:NSMakeRange(0, [htmlString length])
                     usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) {
                         // do whatever you want
                 }];

私は質問を誤解していますか?

于 2012-11-29T21:22:20.070 に答える