Accéder au contenu principal Passer au contenu complémentaire

IndexRegExGroup - fonction de script et fonction de graphique

IndexRegExGroup() effectue une recherche dans la chaîne d'entrée et renvoie la position de départ de la énième occurrence du modèle d'expression régulière composite spécifié. Un quatrième argument facultatif count fournit la valeur de n, qui est égale à 1 s'il est omis. Les positions dans la chaîne sont numérotées de gauche à droite à partir de 1. Si aucune correspondance n'est trouvée, la fonction renvoie 0.

Cette fonction effectue des opérations de regex sensibles à la casse. Sinon, vous pouvez utiliser la variante IndexRegExGroupI() pour effectuer des opérations de regex non sensibles à la casse.

 

IndexRegExGroup (text, regex, group [, count])

entier

Arguments
Argument Description
text Texte de chaîne d'entrée dans lequel rechercher une expression régulière.
regex Expression régulière à utiliser pour la recherche dans la chaîne d'entrée.
group

Numéro du groupe, dans le cas d'une expression régulière composite.

Une valeur group égale à 0 renvoie l'index de l'ensemble de la regex. Toutefois, si l'expression régulière n'a besoin de renvoyer que l'index de la correspondance complète, utilisez plutôt la fonction IndexRegEx().

Vous pouvez spécifier une valeur group négative pour rechercher des correspondances de droite à gauche.

count

Numéro de la correspondance. Cela s'avère utile lorsqu'il est possible de trouver plusieurs correspondances pour l'expression régulière dans le texte. Par exemple, spécifiez une valeur 4 pour rechercher la position de la quatrième correspondance.

Cet argument est facultatif. S'il n'est pas spécifié, la valeur par défaut est 1. Vous pouvez spécifier une valeur négative pour rechercher des correspondances de droite à gauche.

Exemples de fonction
Exemple Résultat
IndexRegExGroup('abc123','([a-z])([0-9]+)',0) Renvoie 3 (position de départ de la regex complète).
IndexRegExGroup('abc123','([a-z])([0-9]+)',1) Renvoie 3 (position de départ du premier groupe).
IndexRegExGroup('abc123','([a-z])([0-9]+)',2) Renvoie 4, qui est la position de départ du deuxième groupe. Dans le modèle de regex d'entrée, la chaîne ([0-9]+) correspond au deuxième groupe.
IndexRegExGroup('ABC123','([a-z])([0-9]+)',1) Renvoie 0, car IndexRegExGroup() est sensible à la casse.
IndexRegExGroupI('ABC123','([a-z])([0-9]+)',1) Renvoie 3. La variante non sensible à la casse de la fonction, IndexRegExI(), est utilisée.

Cas d'utilisation

Les cas d'utilisation de cette fonction sont les suivants :

  • Identification de l'endroit où se trouvent des modèles de texte spécifiques dans des corps de texte plus volumineux. Par exemple, vous pourriez vouloir savoir où le domaine d'une adresse e-mail est utilisé dans une série de longs messages e-mail.

  • IndexRegExGroup() s'avère particulièrement utile pour le traitement de données avancé et est couramment utilisé dans la première étape d'une transformation plus longue et plus complexe. Il est généralement plus facile de résoudre les problèmes avec d'autres fonctions de regex telles que ExtractRegExGroup(), MatchRegEx() et CountRegEx(), mais il peut arriver que IndexRegExGroup() offre des solutions que ces fonctions ne peuvent pas fournir.

Exemple 1 – Script de chargement permettant de trouver les positions des composants ISBN

Exemple 2 – Expressions de graphique permettant de trouver les positions des URL (avec une comparaison IndexRegEx() )

Cette page vous a-t-elle aidé ?

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 !