コンテンツにスキップ

REGEXP_LIKE 関数は、文字列が正規表現に一致するかどうかを確認するために使用します。

func.regexp_like(<expr>, <pat[, match_type]>)
func.regexp_like('a', '^[a-d]')
┌─────────────────────────────────┐
│ func.regexp_like('a', '^[a-d]') │
├─────────────────────────────────┤
│ 1 │
└─────────────────────────────────┘
REGEXP_LIKE(<expr>, <pat[, match_type]>)
引数 説明
<expr> 照合対象の文字列 expr
<pat> 正規表現
[match_type] 省略可能。match_type 引数は、照合の方法を指定する文字列です

match_type には、次の文字を任意に組み合わせて指定できます。

  • c: 大文字と小文字を区別して照合します。
  • i: 大文字と小文字を区別せずに照合します。
  • m: 複数行モード。文字列内の行終端文字を認識します。デフォルトでは、行終端文字は文字列式の先頭と末尾でのみ照合されます。
  • n: . 文字が行終端文字に一致します。デフォルトでは、. の照合は行末で止まります。
  • u: Unix 形式の改行のみ。現在はサポートされていません。

BIGINT 文字列 expr がパターン pat で指定した正規表現に一致する場合は 1、それ以外の場合は 0 を返します。expr または pat が NULL の場合、戻り値は NULL です。

SELECT REGEXP_LIKE('a', '^[a-d]');
┌────────────────────────────┐
│ REGEXP_LIKE('a', '^[a-d]') │
├────────────────────────────┤
│ 1 │
└────────────────────────────┘
SELECT REGEXP_LIKE('abc', 'ABC');
┌───────────────────────────┐
│ REGEXP_LIKE('abc', 'ABC') │
├───────────────────────────┤
│ 1 │
└───────────────────────────┘
SELECT REGEXP_LIKE('abc', 'ABC', 'c');
┌────────────────────────────────┐
│ REGEXP_LIKE('abc', 'ABC', 'c') │
├────────────────────────────────┤
│ 0 │
└────────────────────────────────┘
SELECT REGEXP_LIKE('new*\n*line', 'new\\*.\\*line');
┌───────────────────────────────────────────┐
│ REGEXP_LIKE('new*\n*line', 'new\*.\*line')│
├───────────────────────────────────────────┤
│ 0 │
└───────────────────────────────────────────┘
SELECT REGEXP_LIKE('new*\n*line', 'new\\*.\\*line', 'n');
┌────────────────────────────────────────────────┐
│ REGEXP_LIKE('new*\n*line', 'new\*.\*line', 'n')│
├────────────────────────────────────────────────┤
│ 1 │
└────────────────────────────────────────────────┘