REGEXP_EXTRACT_ALL |
Extraire tous |
| BigQuery |
Syntaxe
|
REGEXP_EXTRACT_ALL(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 toutes les sous-chaînes qui correspondent à 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 un tableau (ARRAY) de toutes les sous-chaînes qui correspondent au premier groupe de capture de 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 un tableau vide. |
Description
Cette fonction permet de rechercher toutes les correspondances avec une expression régulière (regex) dans la valeur spécifié.
Remarques
- Retourne toutes les correspondances sous forme de tableau : Contrairement à REGEXP_EXTRACT qui ne renvoie qu'une seule correspondance, REGEXP_EXTRACT_ALL
renvoie toutes les correspondances dans un tableau (ARRAY). Cela permet de traiter efficacement des champs contenant plusieurs éléments similaires, comme des numéros ou
mots-clefs.
- Nécessite un groupe de capture dans l'expression : L'expression régulière fournie doit impérativement inclure au moins un groupe de capture. Sans cela,
la fonction retournera un tableau vide même si des correspondances existent. Le groupe de capture est défini avec des parenthèses (...).
- Produit un tableau vide si aucune correspondance : Si la fonction ne trouve aucune correspondance ou si le motif ne contient aucun groupe de capture, elle
ne renvoie pas NULL, mais bien un tableau vide, ce qui facilite la gestion conditionnelle des résultats sans risque d'erreur.
- Permet de traiter des chaînes de texte ou des séquences d'octets : Elle fonctionne aussi bien avec des types STRING qu'avec BYTES, ce qui la rend
polyvalente pour l'analyse de texte brut ou de données binaires encodées, telles que des fichiers de journaux de bords ou des données cryptées.
- Très utile pour extraire des listes d'éléments : Cette fonction est particulièrement utile lorsqu'une chaîne contient plusieurs instances d'un même motif,
comme une liste de courriels, de numéros ou de mots, que vous souhaitez extraire individuellement.
- Résultat directement exploitable dans des boucles ou des jointures : Comme la fonction retourne un tableau, elle s'intègre parfaitement avec des fonctions
BigQuery comme UNNEST() pour exploser les résultats ligne par ligne, facilitant ainsi les opérations d'agrégation ou d'analyse détaillée.
- Sensible à la casse, sauf si précisé dans la regex : Par défaut, la recherche est sensible aux majuscules et minuscules. Pour effectuer une recherche
insensible à la casse, il faut inclure le modificateur (?i) dans l'expression régulière.
- Peut être utilisée pour la validation et l'extraction simultanée : Elle permet non seulement de vérifier qu'un format est présent plusieurs fois dans
une chaîne, mais également d'extraire chacune de ces occurrences. Cela en fait un outil puissant de nettoyage et de transformation de texte dans les jeux de données
hétérogènes.
Dernière mise à jour : Jeudi, le 18 Juin 2020