REGEXP_REPLACE |
Remplace l'expression régulière |
| BigQuery |
Syntaxe
|
REGEXP_REPLACE(value, regexp, replacement)
|
Paramètres
| Nom |
Description |
| value |
Ce paramètre permet de spécifier la chaîne de caractères (STRING) ou la séquence d'octets (BYTES) dans laquelle vous souhaitez rechercher les correspondances de l'expression régulière et effectuer les remplacements. |
| regexp |
Ce paramètre permet de définir l'expression régulière (STRING ou BYTES) que vous souhaitez rechercher au sein de la value. Toutes les occurrences de cette expression régulière trouvées dans la value seront remplacées. |
| replacement |
Ce paramètre permet de spécifier la chaîne de caractères (STRING) ou la séquence d'octets (BYTES) qui remplacera chaque correspondance trouvée par l'expression régulière. Vous pouvez utiliser des références arrière (par exemple, \1, \2) dans cette chaîne pour insérer le texte capturé par les groupes de capture dans votre regexp. |
Description
Cette fonction permet de rechercher toutes les correspondances avec une expression régulière (regex) dans la valeur spécifié et de les remplacer par une nouvelle valeur.
Remarques
- Permet le remplacement avancé basé sur des motifs : La fonction REGEXP_REPLACE ne se limite pas à de simples remplacements de texte. Elle utilise des
expressions régulières, ce qui permet de cibler des motifs complexes, tels que des dates, numéros de téléphone, ou balises HTML, pour les modifier dynamiquement.
- Compatible avec les références arrière : Grâce aux groupes de capture dans l'expression régulière, vous pouvez utiliser des références comme \1, \2,...,
dans la chaîne de remplacement. Cela permet de reconstruire partiellement les éléments trouvés, tout en modifiant une partie seulement du texte original.
- Effectue le remplacement sur toutes les correspondances : Contrairement à certaines fonctions qui ne remplacent que la première occurrence,
REGEXP_REPLACE effectue le remplacement sur l'ensemble des correspondances dans la chaîne. Cela en fait un outil puissant pour le nettoyage massif de texte.
- Supporte les types STRING et BYTES : La fonction peut être utilisée sur des chaînes de caractères (STRING) mais aussi sur des données binaires (BYTES). Cela
permet de transformer du contenu encodé, ou d'appliquer des remplacements dans des structures non textuelles.
- Peut entraîner des résultats inattendus sans échappement : Lorsqu'on utilise des caractères spéciaux dans l'expression régulière (comme . ou *), il faut
les échapper correctement (\\. pour un point littéral, par exemple), sinon la fonction pourrait remplacer plus que prévu.
- Très utile pour la normalisation de données : On peut s'en servir pour nettoyer ou uniformiser des champs texte, comme retirer des espaces superflus,
supprimer des balises HTML, remplacer des séparateurs de mots, ou encore corriger des formats d'adresse ou de numéro.
- Peut remplacer par une chaîne vide pour supprimer du texte : Si vous utilisez une chaîne de remplacement vide (''), REGEXP_REPLACE devient un outil de
suppression. Par exemple, en remplaçant tous les chiffres par une chaîne vide, vous supprimez tous les nombres d'un champ.
- Le remplacement est sensible à la casse par défaut : La correspondance dans regexp est sensible aux majuscules/minuscules. Pour ignorer la casse,
vous devez ajouter le modificateur (?i) dans l'expression, ce qui rend les remplacements plus flexibles dans des textes non uniformisés.
Dernière mise à jour : Jeudi, le 18 Juin 2020