# Travailler avec des expressions

{% hint style="danger" %}
Veuillez noter que le temps d’exécution d’une expression régulière est de 5 secondes.
{% endhint %}

findall() | similar()

<mark style="color:red;">**LÉGENDE :**</mark>

<mark style="color:red;">**!**</mark> - Paramètres requis

#### <mark style="background-color:blue;">Rechercher dans une chaîne à l’aide d’une expression régulière</mark>

**findall(reg, str, index) -** pour trouver toutes les correspondances de groupes dans une chaîne

Paramètres :

<mark style="color:red;">**!**</mark>**&#x20;reg** - expression régulière

<mark style="color:red;">**!**</mark>**&#x20;str** - chaîne dans laquelle la recherche est effectuée

&#x20;**index** - indice du résultat trouvé. Il commence à zéro. Cela signifie que le premier résultat trouvé a l’indice 0.

<mark style="background-color:blue;">**Comparaison de chaînes avec tolérance aux fautes de frappe**</mark>

**similar(str1, str2)** - compare deux chaînes en tolérant les fautes de frappe. Renvoie True si les chaînes diffèrent de moins de 30 %.

<details>

<summary>Exemple</summary>

Voyons un exemple de recherche d’une chaîne à l’aide d’une expression régulière spécifiée :

<div data-with-frame="true"><figure><img src="/files/25e895ae9c822c5842a009425a933b6377a913be" alt="" width="375"><figcaption></figcaption></figure></div>

Le résultat est le suivant :

<div data-with-frame="true"><figure><img src="/files/7c16dee3a17218b924a976c7167d75ebc4b3d3ab" alt="" width="375"><figcaption></figcaption></figure></div>

Exemple d’utilisation de la fonction de comparaison de chaînes tolérante aux fautes de frappe :&#x20;

Dans le bloc de démarrage, nous ajoutons notre devinette dans la section message. Ensuite, nous ajoutons aussi la réponse à notre devinette dans le calculateur en utilisant la variable :

**riddle = 'cold'.**

Dans le deuxième bloc, nous saisissons l’expression suivante dans le calculateur :

**response = if(similar(riddle, question) == True, "super !", "Nooo ! c'est un #{riddle}").**

N’oubliez pas d’ajouter **#{response}** à la section message.

<div data-with-frame="true"><figure><img src="/files/ff9f665440ba0c732302036533b92374f04406bc" alt="" width="375"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/970f895fa3632b240606d4672443154dd2fb4f72" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/9db12d176d272415723e1c094bd77844a41e659d" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Code</summary>

<pre><code><strong>a = findall('.ai\/(.+)\/', 'https://payform.com/ab252acn/', 0)
</strong>
response = if(similar(riddle, question) == True , "super !", "Nooo ! c'est un #{riddle}")
</code></pre>

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/fr/chatbot/functions/calculatrice/expressions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
