REGEXP_COUNT は、文字列内で正規表現パターンを検索し、そのパターンが出現した回数を返します。
構文
INTEGER REGEXP_COUNT
(
srcstr TEXT,
pattern TEXT,
position DEFAULT 1,
modifier DEFAULT NULL
)パラメーター
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
srcstr | TEXT | — | 検索対象の文字列です。 |
pattern | TEXT | — | 検索する正規表現パターンです。 |
position | INTEGER | 1 | srcstr 内で検索を開始する文字位置です。 |
modifier | TEXT | NULL | パターンマッチングの動作を制御する 1 つ以上のフラグです。 |
サポートされている修飾子の完全な一覧については、PostgreSQL ドキュメントの「Pattern Matching」をご参照ください。
使用例
位置 1 から出現回数をカウント
次の例では、文字列 'reinitializing' の先頭(位置 1)から文字 i が何回出現するかをカウントします。
polardb=# SELECT REGEXP_COUNT('reinitializing', 'i', 1) FROM DUAL;
regexp_count
--------------
5
(1 行)位置 6 から出現回数をカウント
先頭以外の位置からカウントを開始するには、position パラメーターを指定します。この例では、位置 6 以降に出現する i の回数をカウントするため、それより前の位置での一致は除外されます。
polardb=# SELECT REGEXP_COUNT('reinitializing', 'i', 6) FROM DUAL;
regexp_count
--------------
3
(1 行)