文字列 正規表現置換では、複数の変換ルールが同じ文字列にマッチする場合、設定画面に表示されている 上から順にすべてのルールが連続して適用 されます。
前のルールで変換された結果に対して次のルールが評価・適用されるため、ルールの順序が最終的な出力に影響することがあります。
例1:どちらの順序でも結果が同じになる場合
以下の変換ルールが設定されている場合:
※ 以下の表はルールの適用順序を概念的に示したものです。UIの実際の列(対象カラム名・正規表現パターン・置換させる文字列)に対応しています。
| 正規表現パターン | 置換させる文字列 |
|---|---|
.*商品A.* |
商品A(特別) |
.*商品.* |
商品(通常) |
対象カラムのデータが「商品A」だった場合の処理:
ルール1(.*商品A.*)→ ルール2(.*商品.*)の順番で文字列 正規表現置換に設定した場合
- ルール1の
.*商品A.*がマッチし、「商品A(特別)」に変換される - 変換後の文字列にルール2の
.*商品.*がマッチするため、「商品(通常)」に変換される - 最終結果:商品(通常)
ルール2(.*商品.*)→ ルール1(.*商品A.*)の順番で文字列 正規表現置換に設定した場合
- ルール2の
.*商品.*がマッチし、「商品(通常)」に変換される - 変換後の文字列にルール1の
.*商品A.*はマッチしない - 最終結果:商品(通常)
例2:順序によって結果が変わる場合
変換後の値が他のルールにマッチしない場合、順序によって結果が変わります。
※ 以下の表はルールの適用順序を概念的に示したものです。UIの実際の列(対象カラム名・正規表現パターン・置換させる文字列)に対応しています。
| 正規表現パターン | 置換させる文字列 |
|---|---|
.*商品A.* |
特別品 |
.*商品.* |
一般品 |
この場合、.*商品A.* が上にあれば「商品A」→「特別品」で確定しますが、.*商品.* が上にあると「商品A」→「一般品」になります。意図した変換にならない場合は、先に適用したいルールが上になるようルールの順序を見直してください。
コメント
0件のコメント
記事コメントは受け付けていません。