正規表現置換
 
                                            ロジック名
正規表現置換(ドキュメントMapper/変数Mapper/マージMapper)
機能
入力文字列を正規表現により置換して返します。
データ型
| 場所 | 型 | 
|---|---|
| 1番目の入力ハンドラ | 文字列 | 
| ロジックの出力 | 文字列 | 
プロパティ
| カテゴリ | プロパティ | 説明 | 
|---|---|---|
| 必須設定 | 置換前文字列(正規表現パターン) | 置き換えたい文字列を指定します。 | 
| 必須設定 | 置換後文字列 | 置き換えたあとの文字列を指定します。 | 
| コメント | コメント | ロジックの説明を記述することができます。変換処理には関係しません。 | 
機能の詳細
正規表現パターン
使用可能な正規表現パターンは、java.util.regex.Patternに準じます。
Patternについては、「Java(TM) Platform, Standard Edition 8 API Specification」(http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)を参照してください。
正規表現の参考
| 参考表記 | 意味 | 
|---|---|
| ^ | 行の先頭 | 
| $ | 行の末尾 | 
| . | 改行以外の任意の1文字 | 
| [] | []でくくられた中にある任意の1文字 | 
| [^] | []でくくられた中にない任意の1文字 | 
| * | 直前の文字の0個以上の並び | 
| + | 直前の文字の1個以上の並び | 
| ? | 直前の文字が0個または1個 | 
| {a} | 直前の文字のa個の並び | 
| {a,} | 直前の文字のa個以上の並び | 
| {a,b} | 直前の文字のa個以上、b個以下の並び | 
| | | 二者択一の演算子 | 
| \ | エスケープ文字 | 
置換後文字列
正規表現置換は、java.lang.StringクラスのreplaceAll()メソッドを使用しています。
そのため、置換後文字列内でドル記号($)は前方参照された部分シーケンスへの参照として処理される場合があり、バックスラッシュ(\)は置換後文字列内の文字をエスケープするのに使用されます。
バックスラッシュまたはドル記号をそのまま出力する場合は、バックスラッシュでエスケープしてください。
| 置換前文字列(正規表現パターン) | 置換後文字列 | 1番目の入力ハンドラ | ロジックの出力 | 
|---|---|---|---|
| (\d{1,2}:\d{2}) PM | $1 p.m. | 9:00 PM | 9:00 p.m. | 
| (\d{1,2}:\d{2}) PM | \$1 p.m. | 9:00 PM | $1 p.m. | 
| c | \* | abcde | ab*de | 
| c | \\* | abcde | ab\*de | 
String.replaceAll()メソッドについては、「Java(TM) Platform, Standard Edition 8 API Specification」(http://docs.oracle.com/javase/8/docs/api/java/lang/String.html#replaceAll-java.lang.String-java.lang.String-)を参照してください。
ロジックの使用例
マッピング定義
 
                                                ロジックの設定と処理結果
商品コードをアスタリスクに置換します。
プロパティ設定
| プロパティ | 設定値 | 
|---|---|
| 置換前文字列(正規表現パターン) | [A-Z]{3}-[0-9]{3} | 
| 置換後文字列 | ***-*** | 
入力データ
| サンプルA(ACE-036) | 
| サンプルB(KMO-147) | 
| サンプルC(VXZ-258) | 
出力データ
| サンプルA(***-***) | 
| サンプルB(***-***) | 
| サンプルC(***-***) | 
ロジック全体の一覧は「Mapperロジックガイド」を参照してください。