REGEX() functions
L'article Formula field reference vous donne une description des fonctions REGEX() :
REGEX_MATCH()
REGEX_EXTRACT()
REGEX_REPLACE()
Chacune de ces fonctions présente des avantages et des inconvénients.
Cet article ne détaille pas ces trois fonctions. Il existe de nombreuses ressources externes (comme regex101, MDN Regex cheatsheet) que vous pouvez consulter pour en savoir plus sur la fonction REGEX.
Introduction
Vous vous demandez peut-être ce qu'est une expression régulière. Une expression régulière décrit un pattern (motif) que nous souhaitons rechercher et localiser dans du texte. Autrement dit, elle permet d'identifier des sous ensembles dans un texte.
Sur Airtable, vous pouvez utiliser la barre de recherche ( Ctrl F ou Ctrl G ) et la Search extension ainsi que les fonctions :
FIND() et SEARCH()
Vous trouverez également d'autres fonctions d'extraction de texte dans la section Text operators and functions de l'article Formula field reference.
Mais les fonctions REGEX qui suivent fournissent un moyen de rechercher les informations dans vos tables ainsi que la possibilité de travailler avec ces informations.
Note : Les fonctions REGEX ne fonctionnent qu'avec des chaînes de texte (strings). Si vous utilisez un rollup ou lookup field, vous devez d'abord convertir les données en une chaîne avant de pouvoir utiliser une fonction REGEX (vous pouvez le faire en utilisant ARRAYJOIN()).
REGEX_MATCH
La fonction REGEX_MATCH()
indique si le input text correspond à une expression régulière spécifiée et renvoie un Boolean (type de données qui ne peut avoir que les valeurs True/Vrai ou False/Faux) : 1 (True) ou 0 (False).
Exemple 1 : VALIDATION DE NUMERO DE TELEPHONE
Si vous voulez valider un ensemble de numéros de téléphone selon des critères spécifiques, vous pouvez utiliser REGEX_MATCH()
comme dans la formule ci-dessous.
REGEX_MATCH( {Possible Phone Number}, '^([+]?\[0-9]\( |-)?)?(\\(?[0-9]{3}\\)?|[0-9]{3})( |-)?([0-9]{3}( |-)?[0-9]{4}|[a-zA-Z0-9]{7})$')