- Catégories :
REGEXP_COUNT¶
Renvoie le nombre de fois qu’un motif se produit dans une chaîne.
Voir aussi Fonctions de chaîne (expressions régulières).
Syntaxe¶
REGEXP_COUNT( <subject> , <pattern> [ , <position> , <parameters> ] )
Arguments¶
Obligatoire :
subject
Sujet devant correspondre.
pattern
Modèle devant correspondre.
Facultatif :
position
Nombre de caractères depuis le début de la chaîne pour lesquels la fonction commence à rechercher des correspondances.
Par défaut :
1
(la recherche d’une correspondance commence au premier caractère à gauche)parameters
Chaîne d’un ou plusieurs caractères spécifiant les paramètres utilisés pour la recherche de correspondances. Valeurs prises en charge :
c
,i
,m
,e
,s
Pour plus de détails, voir Spécification des paramètres de l’expression régulière.
Par défaut :
c
Notes sur l’utilisation¶
Pour les notes d’utilisation, voir Notes générales sur l’utilisation pour les fonctions d’expression régulière.
Détails du classement¶
Arguments with collation specifications are currently not supported.
Exemples¶
L’exemple suivant compte les occurrences du mot was
. La correspondance commence au premier caractère de la chaîne :
select regexp_count('It was the best of times, it was the worst of times', '\\bwas\\b', 1) as "result" from dual; +--------+ | result | |--------| | 2 | +--------+
L’exemple suivant illustre des occurrences qui se chevauchent :
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 | +----+--------------------------------------------------------------+