|
RegEx Replace |
「RegEx Replace」プロセッサでは、テキスト値を正規表現と照合して、マッチする値を指定の値またはマッチしたテキストから導出した値で置換する(たとえば、正規表現とマッチした文字列全体を、正規表現の最初のグループのみで置換する)ことで、高度なテキスト置換を実行する手段を提供します。
正規表現は、パターンを表現し、文字列を操作するための標準の手法であり、一度習得すると非常に強力です。
正規表現に関するチュートリアルおよび参照資料は、インターネット上で次のサイトから入手できます。
次の書籍もあります。
また、正規表現の習得に役立つソフトウェア・パッケージ(RegExBuddyなど)、および有益な正規表現のオンライン・ライブラリ(RegExLibなど)も利用できます。
「RegEx Replace」は、たとえば、正規表現に従って特定のパターンにマッチする文字列を特定の値で置換する必要がある場合や、テキストの一部のコンテキストを検討してから標準化するかどうかを判断する必要がある場合など、高度なテキスト変換に使用します。
たとえば、一定数の有効値が設定された属性に対して、有効な特定の値のリストにマッチしない、数文字の長さを超える英文字のすべての値を「Other」に変換できます。これは、「List Check」を実行し、マッチしなかった値を「RegEx Replace」を使用して変換することで対応できます。
円記号(\)とドル記号($)は、置換文字列の特殊文字であることに注意してください。ドル記号は、照合に使用する正規表現の中のグループに対する参照として使用されます。円記号は、置換文字列内でエスケープ・リテラル文字に使用されます。
単一の文字列属性。
オプション |
タイプ |
目的 |
デフォルト値 |
Regular expression |
正規表現 |
照合する正規表現 |
なし |
Replacement |
任意の値 |
マッチした値の置換に使用する置換文字列 |
なし |
注意: 入力データが正規表現とマッチするたびに、そのデータが置換文字列で置換されます。たとえば、正規表現a*b、置換文字列「-」を使用すると、入力値「aabfooaabfooabfoob」に対して「-foo-foo-foo-」という新しい属性値が生成されます。 |
データ属性 |
タイプ |
目的 |
値 |
[Attribute Name].RegExReplaced |
導出 |
「RegEx Replace」の結果が設定された新しい属性 |
「RegEx Replace」の結果。正規表現とマッチしなかった場合は、元の入力属性値がそのまま使用されます。 |
フラグ属性 |
目的 |
可能性のある値 |
[Attribute Name].RegExReplaceSuccess |
「RegEx Replace」が正常に実行されたかどうかを示します。 |
Y/N |
実行モード |
サポート |
バッチ |
Yes |
リアルタイム・モニタリング |
Yes |
リアルタイム応答 |
Yes |
「RegEx Replace」プロセッサでは、結果のサマリー・ビューが作成され、次の統計が表示されます。
統計 |
意味 |
Transformed |
正規表現とマッチした結果、変換が適用されたレコードの数。 |
Untransformed |
正規表現とマッチしなかった結果、変換が適用されなかったレコードの数。 |
「RegEx Replace」プロセッサからは、次の出力フィルタが使用可能です。
この単純な例では、事前に実行された「List Check」プロセッサによって無効であることが検出された職位属性の値を「RegEx Replace」を使用して「Other」の値で置換します。
Regular expression: (.*.)
Replacement String: Other
結果(成功した置換):
Oracle (R) Enterprise Data Qualityオンライン・ヘルプ バージョン8.1
Copyright (C) 2006,2011 Oracle and/or its affiliates.All rights reserved.