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