- カテゴリ:
REGEXP_COUNT¶
文字列でパターンが発生する回数を返します。
文字列関数(正規表現) もご参照ください。
構文¶
REGEXP_COUNT( <subject> , <pattern> [ , <position> , <parameters> ] )
引数¶
必須:
subject
一致するサブジェクトです。
pattern
一致するパターンです。
オプション:
position
関数が一致の検索を開始する文字列の先頭からの文字数です。
デフォルト:
1
(一致の検索は左側の最初の文字から始まります)parameters
一致の検索に使用されるパラメーターを指定する1つ以上の文字の文字列です。サポートされている値:
c
、i
、m
、e
、s
詳細については、 正規表現のパラメーターの指定 をご参照ください。
デフォルト:
c
使用上の注意¶
使用上の注意については、正規表現関数の 一般的な使用上の注意 をご参照ください。
照合の詳細¶
Arguments with collation specifications are currently not supported.
例¶
次の例では、単語 was
の出現をカウントします。一致は、文字列の1番目の文字から始まります。
select regexp_count('It was the best of times, it was the worst of times', '\\bwas\\b', 1) as "result" from dual; +--------+ | result | |--------| | 2 | +--------+
次の例は、発生の重複を示しています。
create or replace table overlap (id number, a string); insert into overlap values (1,',abc,def,ghi,jkl,'); insert into overlap values (2,',abc,,def,,ghi,,jkl,'); select * from overlap; select id, regexp_count(a,'[[:punct:]][[:alnum:]]+[[:punct:]]', 1, 'i') from overlap; +----+--------------------------------------------------------------+ | ID | REGEXP_COUNT(A,'[[:PUNCT:]][[:ALNUM:]]+[[:PUNCT:]]', 1, 'I') | |----+--------------------------------------------------------------| | 1 | 2 | | 2 | 4 | +----+--------------------------------------------------------------+