Skip To Content

正規表現を使用したフィルタリング

MATCHES 演算子 (属性フィルターを設定する際に使用できる) では、正規表現を使用してターゲット フィールド内のパターンを検索できます。 正規表現のパターン マッチングは、データの整合性をチェックするための強力なツールになります。 正規表現の適用範囲と構文はここですべて扱いきれませんが、フィルター内で使用する場合に特に役立つ例を次に挙げてあります。

注意:

正規表現は、文字列型の属性フィールドにしか適用できません。

注意:

指定したパターンは文字列全体に一致します。 「California」と入力しても、そのサブ文字列を含む文字列との一致が見つかりません。 「.*California.*」というパターンを指定すると、フィルターで検索されるサブ文字列の前後両方にゼロ以上の文字があることが考慮されます。

フィールド値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 つのインスタンスと一致します。 バックスラッシュは、ピリオド (.) がワイルドカード (*) ではなく小数点リテラルであることを示します。 このパターンでは、プラス記号 (+) またはマイナス記号 (-) が浮動小数点値の整数部分になり、小数点リテラルがオプションになります (出現回数がゼロの可能性がある)。

正規表現の例