Hi, I'm Ask INFA!
What would you like to know?
ASK INFAPreview
Please to access Ask INFA.

目次

Search

  1. はじめに
  2. 関数リファレンス
  3. 定数
  4. 演算子
  5. 日付
  6. 関数
  7. システム変数
  8. データ型リファレンス

関数リファレンス

関数リファレンス

REG_MATCH

REG_MATCH

値が正規表現のパターンに一致するかどうかを返します。そのため、ID、電話番号、郵便番号、州の名前などのデータパターンを検査できます。
文字列内の文字を新しい文字パターンに置換します。

構文

REG_MATCH(
subject
,
pattern
)
引数
必須/
オプション
説明
subject
必須
文字列データ型。正規表現のパターンに一致させる値を渡します。
pattern
必須
文字列データ型。一致させる正規表現パターン。Perl互換の正規表現構文を使用する必要があります。パターンは、一重引用符で囲みます。詳細については、REG_EXTRACTを参照してください。

戻り値

データがパターンに一致する場合は1。
データがパターンに一致しない場合は0。
入力値またはパターンがNULLの場合はNULLです。

式でREG_MATCHを使用して、電話番号を検査する場合もあります。たとえば、次の式は10桁の電話番号をパターンと照合し、その結果に基づいて数値を返します。
REG_MATCH (Phone_Number, '(\d\d\d-\d\d\d-\d\d\d\d)' )
Phone_Number
Return Value
408-555-1212
1
NULL
510-555-1212
1
92 555 51212
0
650-555-1212
1
415-555-1212
1
831 555 12123
0

ヒント

以下のタスクでもREG_MATCHを使用できます。
  • 値とパターンが一致するかを確認する場合。これは、SQL LIKE関数の使用方法に似ています。
  • 値が文字かどうかを確認する場合。これは、SQL IS_CHAR関数の使用方法に似ています。
式のREG_MATCH関数でピリオド(.)およびアスタリスク(*)を使用して、値がパターンと一致するかを確認する場合。ピリオドは1文字に一致します。アスタリスク(*)は、後続の値の0個以上のインスタンスに一致します。
たとえば、以下の式を使用して1835で始まる口座番号を検索します。
REG_MATCH(ACCOUNT_NUMBER, ‘1835.*’)
値が文字であるかを確認するには、[a-zA-Z]+を正規表現とするREG_MATCH関数を使用します。a-zは、すべての小文字に一致します。A-Zは、すべての大文字に一致します。プラス記号(+)は、少なくとも1文字が存在しなければならないことを表しています。
たとえば、以下の式を使用して、姓のリストに文字しか含まれていないことを確認します。
REG_MATCH(LAST_NAME, ‘[a-zA-Z]+’)