正規表現の置換

「正規表現の置換」プロセッサは、文字列または文字配列属性を正規表現と照合して、一致する値を指定の値または一致したテキストから導出した値で置換する(たとえば、正規表現と一致した文字列全体を、正規表現の最初のグループのみで置換する)ことで、高度なテキスト置換を実行する手段を提供します。

「正規表現の置換」は、たとえば、正規表現に従って特定のパターンに一致する文字列を特定の値で置換する必要がある場合や、テキストの一部のコンテキストを検討してから標準化するかどうかを判断する必要がある場合など、高度なテキスト変換に使用します。

たとえば、一定数の有効値が設定された属性に対して、有効な特定の値のリストと一致しない、数文字の長さを超える英文字のすべての値を'Other'に変換できます。これは、「リスト・チェック」を実行し、一致しなかった値を「正規表現の置換」を使用して変換することで対応できます。

円記号(\)とドル記号($)は、置換文字列の特殊文字であることに注意してください。ドル記号は、照合に使用する正規表現の中のグループに対する参照として使用されます。円記号は、置換文字列内でエスケープ・リテラル文字に使用されます。

正規表現

正規表現は、パターンを表現し、文字列を操作するための標準の手法であり、一度習得すると非常に有用です。

正規表現に関するチュートリアルや参考資料はインターネットで入手できます。また、Jeffrey E. F. Friedl著、O'Reilly UK発行の『Mastering Regular Expressions』(ISBN: 0-596-00289-0)などの書籍も参考になります。

また、正規表現の習得に役立つソフトウェア・パッケージ(RegExBuddyなど)や、有益な正規表現のオンライン・ライブラリ(RegExLibなど)も使用できます。

次の表に、構成オプションを示します。

構成 説明

入力

1つ以上の文字列または文字配列属性を指定します。

オプション

次のオプションを指定します。

  • 正規表現: 照合する正規表現。正規表現として指定します。デフォルト値: None

  • 置換: 一致した値の置換に使用する置換文字列。任意の値として指定します。デフォルト値: None

出力

データ属性またはフラグ属性の出力を記述します。

データ属性

次のデータ属性が出力されます。

  • [Attribute Name].RegExReplaced: 「正規表現の置換」の結果を含む新しい属性。値は、「正規表現の置換」の結果から導出されます。正規表現が一致しなかった場合は、元の入力属性値がそのまま使用されます。

フラグ

次のフラグが出力されます。

  • [Attribute Name].RegExReplaceSuccess: 「正規表現の置換」が成功したかどうかを示します。使用可能な値はY/Nです。

次の表に、このプロファイラによって生成される統計情報を示します。

統計 説明

変換済

正規表現と一致したために変換が適用されたレコードの数。

未変換

正規表現と一致しなかったために変換が行われなかったレコードの数。

出力フィルタ

次の出力フィルタを使用できます。

  • 変換済の値を持つレコード

  • 未変換の値を持つレコード

この例では、正規表現の置換を使用して、3桁とその後に続くスペースおよび<anything>が<anything><space><the three digits>で置き換えられます。

  • 正規表現: ^(\d{3}) (.*)$

  • 置換文字列: $2 $1

  • 結果(成功した置換):

文字列 置換

123 24ACB

24ACB 123

435 GBRSDF

GBRSDF 435

789 X

X 789