- Catégories :
REGEXP_REPLACE¶
Renvoie le sujet avec le modèle spécifié (ou toutes les occurrences du modèle) soit supprimé soit remplacé par une chaîne de remplacement.
Syntaxe¶
Arguments¶
Obligatoire :
subjectLa chaîne à rechercher pour les correspondances.
patternModèle devant correspondre.
Pour des directives sur la spécification des modèles, voir Fonctions de chaîne (expressions régulières).
Facultatif :
replacementChaîne qui remplace les sous-chaînes correspondant au motif. Si une chaîne vide est spécifiée, la fonction supprime tous les motifs correspondants et renvoie la chaîne résultante.
Valeur par défaut :
''(chaîne vide).positionNombre de caractères depuis le début de la chaîne pour lesquels la fonction commence à rechercher des correspondances. La valeur doit être un entier positif.
Par défaut :
1(la recherche d’une correspondance commence au premier caractère à gauche)occurrenceSpécifie l’occurrence du modèle devant correspondre. Si
0est spécifié, toutes les occurrences sont remplacées.Par défaut :
0(toutes les occurrences)parametersChaîne d’un ou plusieurs caractères spécifiant les paramètres utilisés pour la recherche de correspondances. Valeurs prises en charge :
Paramètre
Description
cCorrespondance sensible à la casse
iCorrespondance non sensible à la casse
mMode multiligne
eExtraire les sous-correspondances.
sLe caractère générique
.du mode à une ligne POSIX correspond à\nPar défaut :
cPour plus d’informations, voir Spécification des paramètres de l’expression régulière.
Renvoie¶
Renvoie une valeur de type VARCHAR.
Si aucune correspondance n’est trouvée, le sujet d’origine est renvoyé.
Renvoie NULL si l’un des arguments est NULL.
Notes sur l’utilisation¶
La chaîne de remplacement peut contenir des références arrière pour capturer des groupes (c’est-à-dire des sous-expressions du modèle). Un groupe de capture est une expression régulière placée entre parenthèses (
( )). Le nombre maximal de groupes de capture est 9.Les références arrières cherchent les expressions correspondantes à l’intérieur d’un groupe de capture. Les références arrière ont la forme
noùnest une valeur comprise entre 0 et 9 inclus, qui fait référence à l’instance correspondante du groupe de capture. Pour plus d’informations, voir Exemples (dans cette rubrique).Les parenthèses (
( )) et les crochets ([ ]) doivent actuellement être doublés pour être analysés sous forme de chaînes de littéraux.L’exemple ci-dessous montre comment supprimer les parenthèses :
Pour des notes d’utilisation supplémentaires, voir Notes générales sur l’utilisation pour les fonctions d’expression régulière.
Détails du classement¶
Arguments with collation specifications currently aren’t supported.
Exemples¶
L’exemple suivant remplace tous les espaces de la chaîne par rien (c’est-à-dire que tous les espaces sont supprimés) :
L’exemple suivant correspond à la chaîne times et la remplace par la chaîne days. La correspondance commence au premier caractère de la chaîne et remplace la deuxième occurrence de la sous-chaîne :
L’exemple suivant utilise des références arrières pour réorganiser la chaîne firstname middlename lastname en tant que lastname, firstname middlename et insérer une virgule entre lastname et firstname :
Les autres exemples utilisent les données de la table suivante :
L’exemple suivant insère le caractère * entre chaque caractère du sujet, y compris le début et la fin, en utilisant un groupe vide (()), qui trouve une correspondance entre deux caractères :
L’exemple suivant supprime toutes les voyelles en les remplaçant par rien, quels que soient leur ordre ou leur casse :
L’exemple suivant supprime tous les mots contenant la lettre minuscule o du sujet en faisant correspondre une limite de mot (\b), suivie de zéro ou de plusieurs caractères de mots (\S), la lettre o, puis zéro ou plusieurs caractères de mot jusqu’à la prochaine limite de mot :
L’exemple suivant remplace tous les mots contenant la lettre minuscule o, échangeant les lettres devant et derrière la première instance de o, et remplaçant o par la séquence de caractères @@ :
L’exemple suivant est le même que l’exemple précédent, mais le remplacement commence à la position 3 dans le sujet :
L’exemple suivant est le même que l’exemple précédent, mais seule la troisième occurrence est remplacée, à partir de la position 3 dans le sujet :
L’exemple suivant est le même que l’exemple précédent, mais il utilise une correspondance non sensible à la casse :