Condition::Search (Partial)
正規表現を使った部分一致検索
ASTER::CONDITION::REGEX
::Search (Partial Match)
部分一致 ( Partial Match ) は検索対象文字列に対して、キーワードで検索を実行します。キーワードには必要に応じて正規表現を用いますが、検索に必ずしも正規表現を必要とはしません。
正規表現を利用した文字列検索を大別すると二つ、「完全一致 ( Exact Match )」と「部分一致 ( Partial Match )」があります。内部処理的には完全一致検索する機能を「 match 」、部分一致検索を「 search 」と呼び区別しています。
-
ASTER::CONDITION::REGEX::Match ( Exact Match )
-
ASTER::CONDITION::REGEX::Search ( Partial Match )
キーワードが文字列全体で一致する必要は無く、一部が一致すればコンディションは真 ( true ) を返します。
検索に一致が無かった場合、即時実行条件である「 ミスマッチ判定 」が利用できます。
一致があった場合の処理と、一致が無かった場合の処理を CF25 上のイベントエディタで書き分けることができ、更に「検索固有 ID 」を利用したイベントの「識別」ができます。
新機能:1
Partial Match でもキャプチャ単位のサブマッチ結果を保存し、検索結果で得られた全サブマッチを文字列として取得できます。部分一致が複数ある場合など、検索の結果確認が容易になりました。
注意点:1
Regex Partial Match は内部的に regex.search とも呼ばれ、正規表現を使わず通常の文字列検索と同じ感覚で利用できます。ただし通常の文字列検索よりも検索結果を得るためのコストが高い (重い処理) です。
注意点:2
Regex.Partial Match は Regex.Replace と異なり、検索対象文字列を「 ASTER 」へ事前送信する必要は無く、任意の文字列を CF25 の Expression Editor から「 ASTER 」へ送信し、これが検索対象文字列として利用されます。
注意点:3
検索時に「検索固有 ID 」を設定すると、検索に一致が無かった時の即時実行条件である「ミスマッチ判定」で、「検索固有 ID 」によるイベントの識別ができます。
「検索固有 ID 」について、「ミスマッチ判定 ( Condition ) 」の項目でも説明があります。 使い方が分からない場合、「検索固有 ID 」は値ゼロでご利用ください。
「ミスマッチ判定」は部分一致以外の検索機能である「完全一致」でも共通して利用されるため、「検索固有 ID 」を利用しない場合、イベント識別ができなくなります。
注意点:4
検索に用いられた正規表現に構文エラーが含まれている場合、即時実行条件の「正規表現エラー」が利用可能。