フィールド演算 (正規表現) プロセッサでは、正規表現の機能を活用し、受信したイベントのターゲット フィールド内のパターンを識別してサブ文字列を抽出できます。 抽出されたサブ文字列は、ターゲット フィールドにもう一度書き込まれるか (フィールドの元の値が置換される)、新規のフィールドに書き込まれます。
例
フィールド演算 (正規表現) プロセッサの使用例を次に示します。
フィールド値 | RegEx パターン | 結果 |
---|---|---|
SWA2382 | ^SWA[0-9]+$ | キャレット記号 (^) はパターンが文字列の先頭にあることを示し、ドル記号 ($) はパターンが文字列の末尾にあることを示します。 パターンの [0-9]+ 部分は、文字列の末尾に 0 ~ 9 の数字が 1 つ以上あることを示します。 ターゲット フィールド内の値が SWA (その後にフライト番号を表す数値が続く) で始まっていない場合、プロセッサはその値をサブ文字列として抽出しません。 |
02/15/1973 | [0-1][0-9][/][0-3][0-9][/][0-1][0-9][0-9][0-9] | 0 〜 1、0 〜 3、0 〜 9 などの数値範囲は、予想される mm/dd/yy 日付文字列の値を示します。 2 桁の月とその後の 2 桁の日および 4 桁の年がスラッシュ (/) で区切られていない値の場合、プロセッサはその値をサブ文字列として抽出しません。 |
3.14159 | ^[-+]?[0-9]*\.?[0-9]+$ | このパターンでは、ターゲット フィールド内の文字列が数値として解釈されるかどうかが検証されます。 RegEx パターン内のアスタリスク (*) は先行文字のゼロ以上のインスタンスと一致し、疑問符 (?) はゼロまたは 1 つのインスタンスと一致します。 バックスラッシュ (\) は、ピリオド (.) がワイルドカード (*) ではなく小数点リテラルであることを示します。 このパターンでは、プラス記号 (+) またはマイナス記号 (-) が浮動小数点値の整数部分になり、小数点リテラルがオプションになります (出現回数がゼロの可能性がある)。 |
アルファ | ^.{0,5} | キャレット記号 (^) はパターンが文字列の先頭にあることを示し、ピリオド (.) は任意の文字に一致するワイルドカードを示します。 {0,5} を使用すると、最小長 0、最大長 5 のサブ文字列がマッチング パターンとして返されます。 この RegEx パターンと文字数制限の閾値を含む新しいフィールドを使用して、固定された文字数を返すことができます。 値が AlphaBeta のフィールドにこの RegEx パターンを適用すると、サブ文字列 Alpha のみが返されます。Alpha は、文字列 AlphaBeta の最初の 5 文字を示します。 |
使用上の注意
フィールド演算 (正規表現) プロセッサを使用する際には、以下の点に注意してください。
- フィールド演算 (正規表現) プロセッサは、さまざまな条件式を使用して一般的な数学的計算、字句計算、論理計算を実行するフィールド演算プロセッサとは異なり、正規表現パターンを使用してターゲット フィールドのサブ文字列のみを識別および抽出します。
- 正規表現パターンで評価するターゲット フィールドを指定する際に必要な構文は ${…} です。なお、${} で囲まれた … にはフィールド名を指定します。 これは、フィールドが名前のみで定義されるフィールド演算プロセッサとは対照的です。
- [ターゲット フィールド] パラメーターを使用して、既存のフィールドまたは新しいフィールドに出力のサブ文字列を格納するようにプロセッサを構成できます。 新しいフィールドを追加してイベント レコードのスキーマを変更するには、GeoEvent Server で新しいジオイベント定義を作成する必要があります。 新しいジオイベント定義は GeoEvent Server で管理され、プロセッサまたはプロセッサが使用されているジオイベント サービスに対して変更が行われた場合に削除されます。
パラメーター
フィールド演算 (正規表現) プロセッサのパラメーターを次に示します。
パラメーター | 説明 |
---|---|
Name |
GeoEvent Manager で参照用として使用されるプロセッサの記述名。 |
プロセッサ |
選択されたプロセッサを示します。 |
フィールド名 | 値の計算に使用される受信イベント レコードのフィールドの名前。 フィールドの識別に必要な構文は ${…} です。なお、${} で囲まれた … にはフィールド名を指定します。 例: ${Description}。 プロセッサを使用してフィールド名を参照する構文は、フィールド演算プロセッサの構文とは異なっています。フィールド演算プロセッサでは、イベント レコードのフィールド名を ${} を使用せずに指定します。 |
パターン | [フィールド名] パラメーターで指定されたイベント レコードのターゲット フィールドで、パターンの識別に使用される正規表現。 プロセッサはパターンを使用して、イベント レコードのターゲット フィールドからサブ文字列を識別および抽出します。 注意:さまざまな正規表現パターン例については、上記の「例」をご参照ください。 |
ターゲット フィールド | プロセッサによって計算された値のターゲット フィールドを指定します。 ターゲット フィールドに条件式の結果が書き込まれます。 デフォルトは [既存のフィールド] です。
|
新しいフィールド名 (条件) | プロセッサによって計算された値が書き込まれる新しいフィールドの名前。 このパラメーターは、[ターゲット フィールド] が [新しいフィールド] に設定されている場合に表示され、[既存のフィールド] に設定されている場合は非表示になります。 |
新しいフィールド タイプ (条件) | プロセッサによって作成される新しいフィールドのデータ タイプを指定します。 デフォルトは [Boolean] です。 使用可能なデータ タイプは次のとおりです。
このパラメーターは、[ターゲット フィールド] が [新しいフィールド] に設定されている場合に表示され、[既存のフィールド] に設定されている場合は非表示になります。 |
新しいフィールド タグ (条件) | 新しいフィールドに適用される既存のフィールド タグの名前。 このパラメーターにはデフォルト値はありません。 注意:新しいフィールドにタグを付けるには、タグがすでに存在している必要があります。 プロセッサはタグを動的に作成しません。 タグの管理と作成の詳細については、「タグの管理」をご参照ください。 このパラメーターは、[ターゲット フィールド] が [新しいフィールド] に設定されている場合に表示され、[既存のフィールド] に設定されている場合は非表示になります。 |
新しいジオイベント定義名 (条件) | 新しいジオイベント定義に与えられる名前。 新しいジオイベント定義は、受信イベント レコードのスキーマと計算値の格納に使用される新しいフィールドの組み合わせです。 このパラメーターは、[ターゲット フィールド] が [新しいフィールド] に設定されている場合に表示され、[既存のフィールド] に設定されている場合は非表示になります。 |
既存のフィールド名 | プロセッサによって計算された値が書き込まれる既存のフィールドの名前。 注意:受信イベント レコードのジオイベント定義を識別するには、[定義] メニューを使用します。 ジオイベント定義を選択すると、選択可能なフィールドの範囲が絞り込まれます。 [フィールド] メニューを使用して、プロセッサによって計算された値が書き込まれる既存のフィールドの特定の名前を識別します。 |
検討事項および制限事項
フィールド演算 (正規表現) プロセッサは、指定された正規表現パターンでの後方参照に対応していません。