tencent cloud

Cloud Log Service

正規表現関数

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-12 14:32:16
AI翻訳・品質チェック済み
本文では、正規表現関数の基本的な構文と例を紹介します。
CLSは以下の正規表現関数をサポートします:
関数名
構文
説明
regexp_extract_all(x, regular expression)
対象文字列から正規表現に一致する部分文字列を抽出し、すべての部分文字列の集合を返します。
regexp_extract_all(x, regular expression, n)
対象文字列から正規表現に一致する部分文字列を抽出し、ターゲットキャプチャグループに一致する部分文字列の集合を返します。
regexp_extract(x, regular expression)
対象文字列から正規表現に一致する最初の部分文字列を抽出して返します。
regexp_extract(x, regular expression, n)
対象文字列から正規表現に一致する部分文字列を抽出し、ターゲットキャプチャグループに一致する最初の部分文字列を返します。
regexp_like(x, regular expression)
対象文字列が正規表現に一致するかどうかを判断します。
regexp_replace(x, regular expression)
対象文字列から正規表現に一致する部分文字列を削除し、削除されなかった部分文字列を返します。
regexp_replace(x, regular expression, replace string)
対象文字列から正規表現に一致する部分文字列を置換し、置換後の文字列を返します。
regexp_split(x, regular expression)
正規表現を使用して対象文字列を分割し、分割後の部分文字列の集合を返します。

regexp_extract_all関数

regexp_extract_all関数は、対象文字列から正規表現に一致する部分文字列の集合を抽出するために使用されます。

構文

対象文字列から正規表現に一致する部分文字列を抽出し、すべての部分文字列の集合を返します。
regexp_extract_all(x, regular expression)
対象文字列から正規表現に一致する部分文字列を抽出し、ターゲットキャプチャグループに一致する部分文字列の集合を返します。
regexp_extract_all(x, regular expression, n)

パラメータ説明

パラメータ
説明
x
パラメータ値はvarchar型です。
regular expression
正規表現です。例えば\\d+です。同時にキャプチャグループをサポートします。例えば(\\d)(\\d)(\\d)です。
n
n番目のキャプチャグループです。nは1から始まる整数です。

戻り値の型

Array型。

例

http_protocolフィールド内のすべての数字を抽出します。ここで、http_protocolの値はHTTP/1.1です。
クエリおよび分析ステートメント
* | SELECT regexp_extract_all(http_protocol, '\\d+')
クエリおよび分析結果
[1,1]

regexp_extract関数

regexp_extract関数は、対象文字列から正規表現に一致する最初の部分文字列を抽出するために使用されます。

構文

対象文字列から正規表現に一致する最初の部分文字列を抽出して返します。
regexp_extract(x, regular expression)
対象文字列から正規表現に一致する部分文字列を抽出し、ターゲットキャプチャグループに一致する最初の部分文字列を返します。
regexp_extract(x, regular expression, n)

パラメータ説明

パラメータ
説明
x
パラメータ値はvarchar型です。
regular expression
正規表現です。例えば\\d+です。同時にキャプチャグループをサポートします。例えば(\\d)(\\d)(\\d)です。
n
n番目のキャプチャグループです。nは1から始まる整数です。

戻り値の型

Varchar型。

例

http_protocolフィールド値から最初の数字を抽出します。ここで、http_protocolの値はHTTP/1.1です。
クエリおよび分析ステートメント
* | SELECT regexp_extract(http_protocol, '\\d+')
クエリおよび分析結果
1

regexp_like関数

regexp_like関数は、対象文字列が正規表現に一致するかどうかを判断するために使用されます。

構文

regexp_like(x, regular expression)

パラメータ説明

パラメータ
説明
x
パラメータ値はvarchar型です。
regular expression
正規表現。

戻り値の型

Boolean型。

例

server_protocolフィールド値に数字が含まれているかどうかを判断します。ここで、server_protocolの値はHTTP/1.1です。
クエリおよび分析ステートメント
* | select regexp_like(server_protocol, '\\d+')
クエリおよび分析結果
TRUE

regexp_replace関数

regexp_replace関数は、対象文字列内の正規表現に一致する部分文字列を削除または置換するために使用されます。

構文

対象文字列から正規表現に一致する部分文字列を削除し、削除されなかった部分文字列を返します。
regexp_replace(x, regular expression)
対象文字列内の正規表現に一致する部分文字列を置換し、置換後の文字列を返します。
regexp_replace(x, regular expression, replace string)

パラメータ説明

パラメータ
説明
x
パラメータ値はvarchar型です。
regular expression
正規表現。
replace string
置換対象の部分文字列です。正規表現でキャプチャグループを使用する場合、$1、$2 の形式で対応するキャプチャグループを参照できます。

戻り値の型

String型。

例

例1:server_protocolフィールド値からバージョン番号部分を削除し、異なる通信プロトコルに対応するリクエスト数を集計します。ここで、server_protocolの値はHTTP/1.1です。
クエリおよび分析ステートメント
* | select regexp_replace(server_protocol, '.\\d+') AS server_protocol, count(*) AS count GROUP BY server_protocol
クエリおよび分析結果
server_protocol
count
HTTP
357
例2:*を使用して元の文字列hello123world内の数字を置き換え、-を使用して文字列内の各部分を連結します。
クエリおよび分析ステートメント
* | SELECT regexp_replace('hello123world', '(hello)(\\d+)(world)', '$1-***-$3') as demo limit 1
クエリおよび分析結果
demo
hello-***-world

regexp_split関数

regexp_split関数は、対象文字列を分割し、分割後の部分文字列の集合を返します。

構文

regexp_split(x, regular expression)

パラメータ説明

パラメータ
説明
x
パラメータ値はvarchar型です。
regular expression
正規表現。

戻り値の型

Array型。

例

正斜線(/)を使用してserver_protocolフィールドの値を分割します。ここで、server_protocolの値はHTTP/1.1です。
クエリおよび分析ステートメント
* | select regexp_split(server_protocol, '/')
クエリおよび分析結果
["HTTP","1.1"]


ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック