Day: April 22, 2016

Swift:正規表現でwebViewを置換進捗状況3

一歩前進二歩後退。

一件ヒットしたらやめるというメソッドがあるのでは?探したら、ちゃんとありました。

func rangeOfFirstMatchInString(_ string: String,
                       options options: NSMatchingOptions,
                         range range: NSRange) -> NSRange

func firstMatchInString(_ string: String,
                options options: NSMatchingOptions,
                  range range: NSRange) -> NSTextCheckingResult?

ところが、firstMatchInStringはエラーが発生してしまい、give upしました。

 

 

Swift:正規表現でwebViewを置換進捗状況2

パフォーマンス改善のためにフィルタの事前チェック処理を行い、ヒット率改善のアルゴリズムをいれました。

的確に言えば、そのつもりなのですが、今のところ想定通り動いていません。

  • 事前チェックするフィルタの登録。パフォーマンス改善の肝はここ。
  • マッチング処理。これがちゃんと動いていない。やり直し。
  • 置換。

トランザクションの量が多いので、どうしても原因究明ができない場合、マッチングだけサンプルプログラムで確認します。

ちなみに、表示まで動いているのでもう一息という感じがしないでもありません。