REGEXP_EXTRACT |
Extrait l'expression régulière |
| BigQuery |
Syntaxe
|
REGEXP_EXTRACT(value, regexp)
|
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 et extraire une sous-chaîne qui correspond à l'expression régulière. |
| regexp |
Ce paramètre permet de définir l'expression régulière (STRING ou BYTES) avec un groupe de capture (()) que vous souhaitez utiliser pour l'extraction. La fonction retourne la sous-chaîne qui correspond au premier groupe de capture dans l'expression régulière. Si aucune correspondance n'est trouvée ou si l'expression régulière ne contient pas de groupe de capture, elle renvoie NULL. |
Description
Cette fonction permet de rechercher une expression régulière (regex) dans la valeur spécifié.
Remarques
- Extraction ciblée grâce aux groupes de capture : La fonction REGEXP_EXTRACT() permet de récupérer une sous-chaîne précise correspondant à un groupe de
capture dans une expression régulière. Pour fonctionner correctement, le motif regex fourni doit contenir au moins une parenthèse de capture, sinon la fonction
retourne NULL.
- Retourne uniquement le premier groupe capturé : Même si l'expression régulière inclut plusieurs groupes de capture, REGEXP_EXTRACT() ne renvoie que
le contenu du premier. Si vous avez besoin d'extraire plusieurs valeurs, il faudra soit utiliser plusieurs fonctions, soit recourir à REGEXP_EXTRACT_ALL.
- Renvoie NULL si aucune correspondance : Si le motif ne correspond à aucune sous-chaîne dans la valeur analysée, le résultat de la fonction sera NULL, ce
qui permet de détecter l'absence de correspondance. Cela peut être utile pour filtrer les données à extraire.
- Fonction sensible à la casse : Comme pour la plupart des fonctions regex dans BigQuery, la recherche est sensible à la casse. Pour ignorer cette
sensibilité, on peut inclure le modificateur (?i) dans le motif regex.
- Fonctionne aussi sur les données binaires : En plus des chaînes de texte classiques (STRING), REGEXP_EXTRACT peut également s'appliquer à des séquences
d'octets (BYTES), ce qui permet de travailler sur des données encodées ou brutes en format binaire.
- Très utile pour le nettoyage de données textuelles : Cette fonction est idéale pour extraire des informations structurées à partir de texte libre, comme
extraire un numéro de téléphone, une adresse e-mail, ou un code à partir d'un champ contenant plusieurs types d'informations mélangées.
- Exige une certaine rigueur dans l'écriture des regex : Le bon fonctionnement de REGEXP_EXTRACT dépend entièrement de la syntaxe correcte de l'expression
régulière. Une mauvaise parenthèse, un caractère mal échappé ou un oubli dans le groupe de capture rendra le résultat NULL ou provoquera une erreur.
- Diffère de REGEXP_CONTAINS et REGEXP_REPLACE : Contrairement à REGEXP_CONTAINS (qui vérifie si un motif existe) ou REGEXP_REPLACE (modifiant une chaîne),
REGEXP_EXTRACT est spécifiquement orientée vers l'extraction. Elle est utile lorsqu'on souhaite isoler une portion précise d'un texte selon un motif bien défini.
Dernière mise à jour : Jeudi, le 18 Juin 2020