# ReplaceRegExGroup - fonction de script et fonction de graphique

ReplaceRegExGroup() renvoie une chaîne après avoir remplacé une ou plusieurs correspondances entre une chaîne d'entrée et le modèle d'expression régulière composite spécifié. Le texte qui remplace le texte correspondant est spécifié dans l'argument to\_str. La fonction fonctionne de gauche à droite, mais, si vous spécifiez une valeur occurrence négative, la fonction lit de droite à gauche.

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

ReplaceRegExGroup (text, regex, to\_str, group [, occurrence])

chaîne

Arguments

| Argument | Description |
| --- | --- |
| text | Texte de chaîne d'entrée à remplacer, entièrement ou partiellement, par le nouveau texte de to\_str. |
| regex | Expression régulière qui détermine dans quelles conditions remplacer le texte. Les correspondances entre cet argument et l'argument text sont remplacées. |
| to\_str | Nouveau texte à utiliser pour remplacer le contenu existant de text. |
| group | Numéro du groupe, dans le cas d'une expression régulière composite.<br><br>Si l'expression régulière ne contient qu'un seul groupe, utilisez plutôt la fonction ReplaceRegEx(). Sinon, utilisez ReplaceRegExGroup() avec une valeur group égale à `0`.<br><br>Vous pouvez spécifier une valeur group négative pour rechercher des groupes de droite à gauche. |
| occurrence | Numéro de la correspondance (entre le texte d'entrée et l'expression régulière) à remplacer par le nouveau texte.<br><br>Cet argument est facultatif. S'il est omis, la valeur par défaut est 0. Lorsqu'une valeur 0 est utilisée, ou si l'argument est omis, toutes les correspondances entre text et regex sont remplacées par to\_str.<br><br>Vous pouvez spécifier une valeur négative pour occurrence afin d'identifier les correspondances de droite à gauche. |

Exemples de fonction

| Exemple | Résultat |
| --- | --- |
| `ReplaceRegExGroup('abc123','([a-z])([0-9]+)','x',0)` | Renvoie `abx` (remplace la correspondance complète). |
| `ReplaceRegExGroup('abc123','([a-z])([0-9]+)','x',1)` | Renvoie `abx123` (ne remplace que le premier groupe de la correspondance). |
| `ReplaceRegExGroup('abc123','([a-z])([0-9]+)','x',2)` | Renvoie `abcx` (ne remplace que le deuxième groupe de la correspondance). |
| `ReplaceRegExGroup('abc123abc123','([a-z])([0-9]+)','x',1,2)` | Renvoie `abc123abx123`. Il existe deux correspondances entre le premier groupe du texte d'entrée et le modèle de regex. Toutefois, seule la deuxième occurrence est remplacée. |
| `ReplaceRegExGroup('ABC123ABC123','([a-z])([0-9]+)','x',1)` | Renvoie `ABC123ABC123`. En d'autres termes, aucun texte n'est remplacé. Cela est dû au fait que la fonction est sensible à la casse et que la variante non sensible à la casse de la fonction n'est pas utilisée. |
| `ReplaceRegExGroupI('ABC123ABC123','([a-z])([0-9]+)','x',1)` | Renvoie `ABx123ABx123`. Dans cet exemple, le texte est remplacé, car la variante non sensible à la casse de la fonction, ReplaceRegExGroupI(), est utilisée. |

## Cas d'utilisation

Vous pouvez utiliser ReplaceRegExGroup() pour modifier le texte afin de respecter les normes de formatage et de conformité, en particulier lorsque vous devez identifier des modèles complexes dans les données. L'argument group supplémentaire de cette fonction vous permet de ne mettre à jour que certaines portions d'un modèle de texte plus grand. Par exemple, vous pouvez mettre à jour des parties spécifiques d'une URL.

Si nécessaire, vous pouvez également utiliser cette fonction pour masquer les informations sensibles telles que les informations personnelles identifiables (PII), afin qu'elles ne soient pas affichées aux utilisateurs qui analysent votre application.

## Exemple 1 – Script de chargement permettant de mettre à jour le domaine dans des URL

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/ReplaceRegExGroup.htm)

#### Script de chargement et résultats

Vue d'ensemble

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Tableau `URLs` qui contient initialement une liste de chaînes d'entrée dans lesquelles nous voulons identifier et mettre à jour des URL spécifiques. Nous voulons mettre à jour le domaine de ces URL.

* Création d'un champ, `ResourceURL_Updated`, qui contient le texte d'entrée modifié avec les URL traitées.

* Variable `URL_RegEx` permettant de stocker l'expression régulière utilisée pour identifier les URL à traiter.

Nos besoins :

* Chaque chaîne d'entrée contient deux URL, l'URL de la ressource étant spécifiée dans la première URL. Nous ne voulons pas mettre à jour d'autres URL que la première énumérée.

* L'URL à mettre à jour doit être au format &lt;https ou https&gt;://&lt;domaine&gt;.com/&lt;chemin d'accès à la ressource&gt;. Le chemin d'accès à la ressource est facultatif, mais il n'est pas utilisé dans cet exemple.

Script de chargement

```
Set URL_RegEx = '(https?):\/\/(([a-zA-Z0-9]+)\.([a-zA-Z0-9]*)\.??([a-zA-Z0-9]*))\/?((([a-zA-Z0-9]*)*)((\/?([a-zA-Z0-9]*)*))*)\/{0,1}([\.,;]+(?=\s))*?';

URLs:

Load
ReplaceRegExGroup(URLsList, '$(URL_RegEx)', 'replacement-server', 2,1) as ResourceURL_Updated;

Load * Inline `
URLsList
The resource is located at https://testserver.com/files. For more help, see: https://support.company.com.
The resource is located at https://testserver.com/files/worksheet. For more help, see: https://support.company.com.
The resource is located at https://testserver.com/files/book. For more help, see: https://support.company.com.
The resource is located at https://testserver.com/files/form. For more help, see: https://support.company.com.
The resource is located at https://testserver.com/datamodel. For more help, see: https://support.company.com.
The resource is located at https://testserver.com/resourcenew. For more help, see: https://support.company.com.
The resource is located at https://testserver.com/page. For more help, see: https://support.company.com.
The resource is located at https://testserver.com/page/overview. For more help, see: https://support.company.com.
` (delimiter is '\t');
```

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ce champ comme dimension :

* `ResourceURL_Updated`

Tableau de résultats

| ResourceURL\_Updated |
| --- |
| The resource is located at https://replacement-server/datamodel. For more help, see: https://support.company.com. |
| The resource is located at https://replacement-server/files. For more help, see: https://support.company.com. |
| The resource is located at https://replacement-server/files/book. For more help, see: https://support.company.com. |
| The resource is located at https://replacement-server/files/form. For more help, see: https://support.company.com. |
| The resource is located at https://replacement-server/files/worksheet. For more help, see: https://support.company.com. |
| The resource is located at https://replacement-server/page. For more help, see: https://support.company.com. |
| The resource is located at https://replacement-server/page/overview. For more help, see: https://support.company.com. |
| The resource is located at https://replacement-server/resourcenew. For more help, see: https://support.company.com. |

## Exemple 2 – Expression de graphique permettant de mettre à jour le protocole des URL

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/ReplaceRegExGroup.htm)

#### Expression de graphique et résultats

Vue d'ensemble

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Tableau `URLsList` contenant une liste de chaînes d'entrée dans lesquelles nous voulons identifier et mettre à jour des URL spécifiques. Nous voulons remplacer le protocole http par https dans les liens vers le site Internet d'assistance.

Nos besoins :

* Chaque chaîne d'entrée contient deux URL, le lien vers le site Internet d'assistance apparaissant comme la deuxième URL. Nous ne voulons pas mettre à jour d'autres URL que la deuxième.

* L'URL à mettre à jour doit être au format &lt;https ou https&gt;://&lt;domaine&gt;.com/&lt;chemin d'accès à la ressource&gt;. Le chemin d'accès à la ressource est facultatif, mais il n'est pas utilisé dans cet exemple.

Script de chargement

```
URLs:

Load * Inline `
URLsList
The resource is located at https://testserver.com/files. For more help, see: http://support.company.com.
The resource is located at https://testserver.com/files/worksheet. For more help, see: http://support.company.com.
The resource is located at https://testserver.com/files/book. For more help, see: http://support.company.com.
The resource is located at https://testserver.com/files/form. For more help, see: http://support.company.com.
The resource is located at https://testserver.com/datamodel. For more help, see: http://support.company.com.
The resource is located at https://testserver.com/resourcenew. For more help, see: http://support.company.com.
The resource is located at https://testserver.com/page. For more help, see: http://support.company.com.
The resource is located at https://testserver.com/page/overview. For more help, see: http://support.company.com.
` (delimiter is '\t');
```

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ce champ comme dimension :

* `URLsList`

Ajoutez cette dimension calculée :

```
=ReplaceRegExGroup(URLsList, '(https?):\/\/(([a-zA-Z0-9]+)\.([a-zA-Z0-9]*)\.??([a-zA-Z0-9]*))\/?((([a-zA-Z0-9]*)*)((\/?([a-zA-Z0-9]*)*))*)\/{0,1}([\.,;]+(?=\s))*?', 'https', 1,2)
```

Tableau de résultats

| URLsList | =ReplaceRegExGroup(URLsList, '(https?):\/\/(([a-zA-Z0-9]+)\.([a-zA-Z0-9]\*)\.??([a-zA-Z0-9]\*))\/?((([a-zA-Z0-9]\*)\*)((\/?([a-zA-Z0-9]\*)\*))\*)\/{0,1}([\.,;]+(?=\s))\*?', 'https', 1,2) |
| --- | --- |
| The resource is located at https://testserver.com/files. For more help, see: http://support.company.com. | The resource is located at https://testserver.com/datamodel. For more help, see: https://support.company.com. |
| The resource is located at https://testserver.com/files/worksheet. For more help, see: http://support.company.com. | The resource is located at https://testserver.com/files. For more help, see: https://support.company.com. |
| The resource is located at https://testserver.com/files/book. For more help, see: http://support.company.com. | The resource is located at https://testserver.com/files/book. For more help, see: https://support.company.com. |
| The resource is located at https://testserver.com/files/form. For more help, see: http://support.company.com. | The resource is located at https://testserver.com/files/form. For more help, see: https://support.company.com. |
| The resource is located at https://testserver.com/datamodel. For more help, see: http://support.company.com. | The resource is located at https://testserver.com/files/worksheet. For more help, see: https://support.company.com. |
| The resource is located at https://testserver.com/resourcenew. For more help, see: http://support.company.com. | The resource is located at https://testserver.com/page. For more help, see: https://support.company.com. |
| The resource is located at https://testserver.com/page. For more help, see: http://support.company.com. | The resource is located at https://testserver.com/page/overview. For more help, see: https://support.company.com. |
| The resource is located at https://testserver.com/page/overview. For more help, see: http://support.company.com. | The resource is located at https://testserver.com/resourcenew. For more help, see: https://support.company.com. |

## En savoir plus

* [Utilisation d'expressions régulières dans les scripts de chargement et les expressions de graphique](https://help.qlik.com/fr-FR/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/regular-expressions-qlik-analytics.htm)