Tous les produits
Search
Centre de documentation

Realtime Compute for Apache Flink:REGEXP_REPLACE

Dernière mise à jour :Aug 09, 2026

Remplace toutes les sous-chaînes d'une chaîne qui correspondent à une expression régulière et renvoie le résultat sous forme de nouvelle chaîne.

REGEXP_REPLACE(str, pattern, replacement) renvoie un nouveau VARCHAR à partir de str, où chaque sous-chaîne correspondant à l'expression régulière définie dans pattern est remplacée par replacement.

Limites

Cette fonction est prise en charge uniquement dans Realtime Compute for Apache Flink utilisant Ververica Runtime (VVR) 3.0.0 ou version ultérieure.

Syntaxe

VARCHAR REGEXP_REPLACE(VARCHAR str, VARCHAR pattern, VARCHAR replacement)

Paramètres d'entrée

Paramètre Type de données Description
str VARCHAR Chaîne source à rechercher.
pattern VARCHAR Motif d'expression régulière à faire correspondre.
replacement VARCHAR Chaîne de remplacement pour chaque occurrence trouvée.
Renvoie NULL si l'un des paramètres d'entrée est NULL ou si l'expression régulière n'est pas valide.

Notes d'utilisation

Les paramètres pattern et replacement suivent la syntaxe Java Pattern.

Lorsque vous écrivez des motifs en SQL, vous devez doubler l'échappement des caractères spéciaux. L'analyseur SQL consomme une barre oblique inverse, de sorte que le moteur d'expressions régulières reçoit le motif attendu. Par exemple, pour faire correspondre un groupe de chiffres, utilisez '(\\d+)' au lieu de '(\d+)'.

Exemples

Les exemples suivants utilisent la table T1 comme source de données :

T1

str1 (VARCHAR) pattern1 (VARCHAR) replace1 (VARCHAR)
2014-03-13 - (chaîne vide)
(chaîne vide) - (chaîne vide)
2014-03-13 (chaîne vide) s
2014-03-13 ( s
100-200 (\\d+) num

Requête

SELECT REGEXP_REPLACE(str1, pattern1, replace1) AS `result`
FROM T1;

Résultats

result (VARCHAR) Explication
20140313 Remplace tous les traits d'union par une chaîne vide.
(chaîne vide) La chaîne d'entrée est vide ; il n'y a rien à remplacer.
s2s0s1s4s-s0s3s-s1s3s Un motif vide correspond à chaque position entre les caractères, insérant s à chaque emplacement.
NULL ( constitue une expression régulière non valide ; la fonction renvoie NULL.
num-num (\\d+) correspond à chaque groupe de chiffres ; 100 et 200 sont tous deux remplacés par num.

Étapes suivantes