CountRegEx - fonction de script et fonction de graphique
CountRegEx() renvoie le nombre d'occurrences du modèle d'expression régulière spécifié dans le texte de la chaîne d'entrée. Si aucun caractère ne correspond, la fonction renvoie 0.
Cette fonction effectue des opérations de regex sensibles à la casse. Sinon, vous pouvez utiliser la variante CountRegExI() pour effectuer des opérations de regex non sensibles à la casse.
CountRegEx
(text, regex)
numérique
Arguments
Argument
Description
text
Texte de chaîne d'entrée dans lequel rechercher une expression régulière.
regex
Modèle d'expression régulière à rechercher.
Exemples de fonction
Exemple
Résultat
CountRegEx('abc123','[a-z]')
Renvoie 3.
CountRegEx('abc123','[a-z][0-9]')
Renvoie 1.
CountRegEx('abc123','[0-9]')
Renvoie 3.
CountRegEx('ABC','[a-z]{3}')
Renvoie 0.
CountRegExI('ABC','[a-z]{3}')
Renvoie 1. La variante CountRegExI() étant utilisée, les recherches de texte ne sont pas sensibles à la casse.
Cas d'utilisation
Voici quelques exemples de cas d'utilisation de CountRegEx() :
Comptage du nombre d'occurrences d'un modèle de texte spécifique dans une chaîne. Par exemple, vous pouvez rechercher des instances d'adresses e-mail, de numéros de téléphone et d'autres informations dans des documents et des messages e-mail.
Vérification que des données remplissent une condition syntaxique spécifique. Par exemple, vous pouvez identifier les occurrences d'erreur de saisie des données.
Exemple 1 – Script de chargement permettant de compter les plages d'années valides
Vue d'ensemble
Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à un nouvel onglet.
Le script de chargement contient :
Tableau nommé Vehicles contenant une liste de véhicules ainsi que l'état et l'année de modèle de chaque véhicule.
Pour chaque enregistrement dans Vehicles, un calcul est effectué pour déterminer si la plage d'années du véhicule correspond à la syntaxe prévue. Les plages d'années valides sont les années 1990, 2000, 2010 et 2020. Ce calcul est effectué à l'aide de la fonction CountRegEx().
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :
Vehicle_ID
Valid_Year_Data
Tableau de résultats
Vehicle_ID
Valid_Year_Data
1
0
2
1
3
1
4
0
5
1
6
1
7
0
8
1
9
0
10
1
Vous pouvez également ajouter un indicateur clé de performance (ICP) à la feuille et ajouter cette mesure :
Sum(Valid_Year_Data)
Ce graphique montre le nombre total d'enregistrements avec des valeurs Model_YearRange valides.
Note InformationsLa fonction MatchRegEx() est également utile pour ces types de cas d'utilisation de validation.
Exemple 2 – Script de chargement permettant de compter le nombre d'adresses e-mail dans des chaînes de texte
Vue d'ensemble
Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à un nouvel onglet.
Le script de chargement contient :
Tableau nommé Employees contenant des données sur les employés d'une entreprise. Toutes les adresses e-mail de chaque employé sont contenues dans une seule chaîne.
Création d'un champ, NoOfEmails, pour calculer le nombre d'adresses e-mail contenues dans la chaîne d'entrée pour chaque employé.
Exemple 3 – Expression de graphique permettant de compter les occurrences de chaîne
Vue d'ensemble
Ouvrez l'Éditeur de chargement de données et ajoutez le script de chargement suivant à une nouvelle section.
Le script de chargement contient le texte d'un certain nombre de courriers professionnels qui ont été envoyés aux employés d'une entreprise. Les données ont déjà été nettoyées de toute information personnelle identifiable (PII), à l'exception du nom d'entreprise et de l'adresse e-mail qui a envoyé chaque courrier. Le corps de chaque message a été réduit à une seule chaîne continue. En d'autres termes, tous les caractères de formatage et de retour à la ligne ont été retirés.
Nos besoins :
Identifier les messages qui contiennent une chaîne comprenant l'adresse e-mail TestCompanyNameCorrespondence@test.com, ainsi qu'une introduction spécifique à cette adresse indiquant qu'il s'agit de l'expéditeur.
Nous souhaitons disposer d'une certaine souplesse dans le choix des introductions à identifier, mais aussi de certaines restrictions précises. Les introductions Sender et Sent by sont toutes les deux considérées comme valides. Pour atteindre cet objectif, il est possible d'utiliser des modèles de regex.
La sensibilité à la casse des adresses e-mail n'entre pas en ligne de compte. La recherche ne doit donc pas être sensible à la casse.
Script de chargement
Correspondences:
Load * Inline [
ID|MessageBody
1|Sent by-- TestCompanyNameCorrespondence@test.com Good morning TestCompanyName team! I hope you are all well. I am just reaching out about the fabulous benefits package we launched just year. Our goal is to take a poll of what you all think. Can you please rate the new options from 1-10 in a response to this email, by this Tuesday? Thank you!
2|Sender: TestCompanyNameIT@test.com Did you know you can access our IT portal anytime, from any of your company devices? It's true! Reach out to your team lead to learn more.
3|Sender: TESTCOMPANYNAMECORRESPONDENCE@test.COM URGENT: This is a message to inform employees of an ongoing issue with our local branch. The branch will be closed until further notice. Thank you
4|Sender: TestCompanyNameVolunteering@test.com Dear team! We are looking for volunteers to help with this year's charity event! We need 40 volunteers to help with the event. If you are interested, please send an email to your direct supervisor. Thanks, TestCompanyName team members, for helping make the world a better place!
5|Sender is TestCompanyNameCorrespondence@test.com Hi folks, it's time to announce the annual TestCompanyName staff party! The party will be taking place at the office this year. Please make sure to RSVP, and we hope to see you there! Sincerely, the TestCompanyName management team
] (delimiter is |);
Résultats
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :
Dans les propriétés de la mesure, définissez la fonction Totaux sur Sum. Cela configure la ligne des totaux en haut du tableau de sorte à compter le nombre total d'enregistrements qui contribuent au comptage.
La mesure compte le nombre de correspondances au modèle de regex spécifié dans le contenu du message. Dans le modèle de regex, .* indique n'importe quel nombre de caractères, à l'exception des caractères de retour à la ligne. Le modèle tient également compte des variations dans la manière dont l'adresse e-mail est introduite : les introductions Sender et Sent by sont toutes les deux valides. La variante CountRegExI() de la fonction permet d'effectuer des recherches sans tenir compte de la casse.
Sent by-- TestCompanyNameCorrespondence@test.com Good morning TestCompanyName team! I hope you are all well. I am just reaching out about the fabulous benefits package we launched just year. Our goal is to take a poll of what you all think. Can you please rate the new options from 1-10 in a response to this email, by this Tuesday? Thank you!
1
2
Sender: TestCompanyNameIT@test.com Did you know you can access our IT portal anytime, from any of your company devices? It's true! Reach out to your team lead to learn more.
0
3
Sender: TESTCOMPANYNAMECORRESPONDENCE@TEST.COM URGENT: This is a message to inform employees of an ongoing issue with our local branch. The branch will be closed until further notice. Thank you
1
4
Sender: TestCompanyNameVolunteering@test.com Dear team! We are looking for volunteers to help with this year's charity event! We need 40 volunteers to help with the event. If you are interested, please send an email to your direct supervisor. Thanks, TestCompanyName team members, for helping make the world a better place!
0
5
Sender is TestCompanyNameCorrespondence@test.com Hi folks, it's time to announce the annual TestCompanyName staff party! The party will be taking place at the office this year. Please make sure to RSVP, and we hope to see you there! Sincerely, the TestCompanyName management team
1
Sur les cinq messages, trois correspondent au modèle de regex spécifié. Chaque message contient une correspondance.
Note InformationsLa fonction MatchRegEx() est également utile pour ces types de cas d'utilisation de validation.
Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !