正規表現チェック

正規表現チェック・プロセッサは、属性内のデータをその属性の有効および無効な正規表現の参照リストと照合してチェックします。入力として文字列、複数の文字列、または文字配列を使用します。

チェックでの大/小文字の区別と照合方法(全体の値/次を含む/次で始まる/次で終わる)を制御できます。

正規表現プロセッサは強力なツールであり、データの位置、部分値と全体値、およびワイルドカードを使用して、その正確な内容に基づいてデータを検証できます。

正規表現チェックは、英国の国民保険番号などのように一貫した構成に準拠する必要があるデータをチェックする場合に役立ちます。

正規表現

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

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

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

データのチェックに使用される正規表現の例を次に示します。

正規表現 パターンの意味

^\d{5}$

5桁の整数で表される米国の郵便番号。

([A-Z]{1,2}[0-9]{1,2}|[A-Z]{3}|[A-Z]{1,2}[0-9][A-Z])( |-)[0-9][A-Z]{2}

有効な英国の郵便番号。

^[A-CEGHJ-PR-TW-Z]{1}[A-CEGHJ-NPR-TW-Z]{1}[0-9]{6}[A-DFM]{0,1}$

有効な英国の国民保険番号。

^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$

有効な電子メール・アドレス。

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

構成 説明

入力

有効または無効な正規表現(あるいはその両方)のリストに基づいてチェックする単一、複数または配列属性を指定します。

オプション

次の有効パターン・オプションを指定します。

  • 参照データ: 属性の有効な正規表現のリスト。参照データ(正規表現カテゴリ)として指定します。デフォルト値: None

  • 正規表現: 参照データを使用せずに、有効パターンとして単一の正規表現を指定できます。

    このオプションを参照データとともに使用すると、すべての正規表現(両方のオプションの)がチェックに使用されます。

    フリー・テキスト・エントリとして指定します。デフォルト値: なし

  • 不一致を次のように分類: 有効な正規表現のリストと一致しない値の分類方法。選択して指定します(不明/無効)。デフォルト値: 不明

  • 有効な値: 有効と分類された数に基づいた、レコードに複数の入力または配列入力が含まれる場合のレコードの分類方法。選択して指定します(すべての値/任意の値)。デフォルト値: すべての値

次の無効パターン・オプションを指定します。

  • 参照データ: 属性の無効な正規表現のリスト。参照データ(正規表現カテゴリ)として指定します。デフォルト値: None

  • 正規表現: 参照データを使用せずに、無効パターンとして単一の正規表現を指定できます。

    このオプションを参照データとともに使用すると、すべての正規表現(両方のオプションの)がチェックに使用されます。

    フリー・テキスト・エントリとして指定します。デフォルト値: なし

  • 不一致を次のように分類: 正規表現のリストと一致しない値の分類方法。選択して指定します(不明/無効)。デフォルト値: 不明

  • 無効な値: 無効と分類された数に基づいた、レコードに複数の入力または配列入力が含まれる場合のレコードの分類方法。選択して指定します(すべての値/任意の値)。デフォルト値: すべての値

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

  • 大文字/小文字を区別しない: リストを照合するときに、大/小文字の別を無視するかどうかを決定します。Specified as 「はい」/「いいえ」で指定します。デフォルト値: はい

  • リストの一致基準: リストとの照合方法を決定します。選択して指定します(全体の値/次を含む/先頭から一致する/後方から一致する)。デフォルト値: 全体の値

出力

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

データ属性

なし。

フラグ

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

  • RegExValid: どのデータが正規表現チェックに合格したかを、有効正規表現、無効正規表現および不明として示します。使用可能な値はY/N/-です。

単一のサマリー・フラグも出力されます。

  • RegExValidSummary: レコードが正規表現チェックに合格したかどうかを示します。使用可能な値はY/N/-です。

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

統計 説明

有効レコード

正規表現チェックで有効と分類されたレコード。

不明レコード

正規表現チェックで不明と分類されたレコード。

無効レコード

正規表現チェックで無効と分類されたレコード。

前述のいずれかの統計値をドリルダウンすると、有効、不明または無効と判明したパターンの数がそれぞれ表示されます。その後再びドリルダウンすると、レコード自体を表示できます。

出力フィルタ

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

  • 有効レコード

  • 不明レコード

  • 無効レコード

この例では、「正規表現チェック」を使用して、次の正規表現との「全体の値」一致を使用してアカウント番号属性(CU_ACCOUNT)の形式をチェックします。

^([0-9]{2})(-)([0-9]{4,5})(-)([a-zA-Z]{2})

この正規表現は、値が正確に2桁の数字で始まり、その後にハイフン、4桁または5桁の数字、別のハイフン、2文字の順に続く必要があることを示します。

サマリー・ビュー:

有効レコード 不明レコード 無効レコード

1997

0

14

無効レコードのドリルダウン:

カウント %

[Null]

4

0.2

OO-24077-SH

1

<0.1

OO-24282-LR

1

<0.1

OO-24276-LR

1

<0.1

0975t3487263

1

<0.1

OI-25057-JD

1

<0.1

97-19671-5H

1

<0.1

97-19601-

1

<0.1

02-999-ZZ

1

<0.1

00-0-XX

1

<0.1